[Haskell] Extensible records: Static duck typing

Sebastian Sylvan sebastian.sylvan at gmail.com
Tue Feb 5 07:21:02 EST 2008


On Feb 5, 2008 11:08 AM, Barney Hilken <b.hilken at ntlworld.com> wrote:

>
> This sort of disagreement means that nothing gets done. After my
> experience with the wiki page, I don't believe anything will get done
> until one of the core ghc developers makes some arbitrary decisions
> and implements whatever they want to, which will then eventually
> become part of the standard by default.
>
>

This is the sort of situation where a "benign dictator" is needed. I have no
strong feelings about which of all of these (all very good) proposals get
implemented, but I do have a strong opinion that the lack of "proper"
records is hurting Haskell quite a bit.

Any of them will do, just get it in there! I'm assuming that Simon {PJ,M} et
al. won't make an obviously terrible choice, and GHC seems to be the de
facto standard anyway, so if they just implemented something in GHC that
would be good enough for me, and a shoe-in for a future standard.
On 05/02/2008, Cale Gibbard <cgibbard at gmail.com> wrote:

> On 05/02/2008, Cale Gibbard <cgibbard at gmail.com> wrote:
> > Personally, I think pt{x} for extracting the x field of pt seems
> not-so-unreasonable, and meshes
> > well with the existing syntax for record updates.
>
> I should clarify -- this is only if we can't somehow keep the existing
> function syntax for record extraction.
>

Only if they get a separate namespace for each record, rather than
overlapping, which would probably be confusing as they would *look* like
functions, but they wouldn't really be function... That said, I like the
"record{field}" syntax. It's sort of like array accessors in C style
languages, but follows the "flavour" of the rest of the record syntax. I
like the dot better, though, but I agree that it's too overloaded as it is.

-- 
Sebastian Sylvan
+44(0)7857-300802
UIN: 44640862
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell/attachments/20080205/9fc0875d/attachment.htm


More information about the Haskell mailing list