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