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