[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