[Haskell-cafe] Records (was Re: [Haskell] Improvements to GHC)
gregory.woodhouse at sbcglobal.net
Thu Nov 17 15:15:34 EST 2005
--- Cale Gibbard <cgibbard at gmail.com> wrote:
> Actually, I didn't mention this in the other post, but why not the
> other way around? Make record selection (#) or (!) (though the latter
> gets in the way of array access), and leave (.) for function
Actually, the fact that (!) is the array selector makes it all the more
attractive as a record selector. (It does make you wonder if a record
isn't a kind of a typed associative array, though...)
> Personally, I'd like something which looked like an
> for record selection, but most of the good 2-character ones are
> unavailable. (~>) is a bit hard to type and looks wrong in some
Well, yeah, but the arrows have such a fundamentally different meaning
in Haskell. (I thought of that one, too).
> There's a "triangle" which is not taken, and isn't so hard to type
If we're not careful, though, Haskell will end up looking like APL.
> I never really understood the attachment to (.) for record selection.
> There's no reason that we have to make things look like Java and C.
> Another option is to make application of a label to a record mean
> projection, somewhat like things currently are, though since labels
> aren't really functions anymore that is potentially confusing.
Actually, I thought of that, too, or rather something like
get label record
get record label
(I haven't made up my mind which way the currying makes more sense. Do
you have a generic function for getting records with a certain label,
or do you apply "get label", tget the field with this label, to
> - Cale
Gregory Woodhouse <gregory.woodhouse at sbcglobal.net>
"Interaction is the mind-body problem of computing."
More information about the Haskell-Cafe