GHC support for the new "record" package

Roman Cheplyaka roma at ro-che.info
Tue Jan 20 23:07:10 UTC 2015


How would that be different from the ORF?

The library as it stands is worse than the ORF: translation into
(essentially) tuples hurts error messages; no good story for sum types;
no way to make fields strict/unpacked etc.

Hopefully, if this is to become a ghc extension, these problems will be
addressed; but then I don't see much difference with the ORF (and thus
it wouldn't be any easier to implement).

On 20/01/15 23:44, Simon Marlow wrote:
> For those who haven't seen this, Nikita Volkov proposed a new approach
> to anonymous records, which can be found in the "record" package on
> Hackage: http://hackage.haskell.org/package/record
> 
> It had a *lot* of attention on Reddit:
> http://nikita-volkov.github.io/record/
> 
> Now, the solution is very nice and lightweight, but because it is
> implemented outside GHC it relies on quasi-quotation (amazing that it
> can be done at all!).  It has some limitations because it needs to parse
> Haskell syntax, and Haskell is big.  So we could make this a lot
> smoother, both for the implementation and the user, by directly
> supporting anonymous record syntax in GHC.  Obviously we'd have to move
> the library code into base too.
> 
> This message is by way of kicking off the discussion, since nobody else
> seems to have done so yet.  Can we agree that this is the right thing
> and should be directly supported by GHC?  At this point we'd be aiming
> for 7.12.
> 
> Who is interested in working on this?  Nikita?
> 
> There are various design decisions to think about.  For example, when
> the quasi-quote brackets are removed, the syntax will conflict with the
> existing record syntax.  The syntax ends up being similar to Simon's
> 2003 proposal
> http://research.microsoft.com/en-us/um/people/simonpj/Haskell/records.html
> (there are major differences though, notably the use of lenses for
> selection and update).
> 
> I created a template wiki page:
> https://ghc.haskell.org/trac/ghc/wiki/Records/Volkov
> 
> Cheers,
> Simon
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-devs
> 



More information about the ghc-devs mailing list