[Haskell-cafe] Return of the revenge of the revisit of the extensible records, reiterated

Atze van der Ploeg atzeus at gmail.com
Tue Nov 26 17:09:40 UTC 2013


Dear all,

Extensible records have been a long outstanding feature request for GHC.
Using the new closed type families and type literals, it is actually
possible to implement Daan Leijen's "`Extensible Records with Scoped
Labels" system as a library.

I have implemented this library at https://github.com/atzeus/openrec (the
documentation is at http://homepages.cwi.nl/~ploeg/openrecvardocs/). The
only thing it requires is the availability of a closed type family that
compares two type level symbols (i.e. the ordering on strings):
type family (m :: Symbol) <=.? (n :: Symbol) :: Bool
patches to GHC that implement this built-in closed type family are also at
the github site.

I would like to generate some discussion about:
* Is this the interface we would like for open records and variants?
* Would it be worthwhile to invest in syntactic sugar for open record
operations?
* Any comments on the interface and or its implementation?

Cheers!

Atze van der Ploeg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20131126/83e20f7c/attachment.html>


More information about the Haskell-Cafe mailing list