A simpler ORF
Roman Cheplyaka
roma at ro-che.info
Thu Jan 29 08:14:21 UTC 2015
1. I *love* the idea of not generating selector functions. It's worth
implementing it as a separate extension regardless of this proposal's fate.
2. In H98, it is possible to do constructor-agnostic updates:
data T = A { n :: Int } | B { n :: Int }
f :: T -> T
f x = x { n = 2 }
It's not possible in your proposal. One could even argue that it was a
bad idea in the first place, as it may lead to partiality.
3. Now that fields are not tied to selectors, do we need a separate
mechanism/set of rules for exporting fields?
Roman
On 29/01/15 07:15, Iavor Diatchki wrote:
> Hello,
>
> I've been following the various discussions about changes to Haskell's
> record system, and I find that most of the current proposals are fairly
> complex, especially for the benefit they provide.
>
> I use Haskell records a lot, and I've been wondering if there might be a
> simpler alternative, one that:
> 1. will allow us to reuse field names across records
> 2. does not require any fancy types
> 3. it will not preclude continued research on "the right" way to get
> more type-based record resolution.
>
> Based on designs I've seen in the past, my experience with Haskell
> records, and discussions with colleagues, I put together a document
> describing a potential design that, I think, satisfies goals 1 to 3:
>
> https://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields/Simple
>
> I think the proposal should be fairly simple to implement, and I'd be
> willing to do it, if there is enough support from the community.
>
> Let me know what you think!
>
> -Iavor
>
>
> _______________________________________________
> 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