2. List the possible features that “records” might mean. For example:
· Anonymous records as a type. So {x::Int, y::Bool} is a
type. (In Haskell as it stands, records are always associated with
a named data type.
· Polymorphic field access. r.x accesses a field in any
record with field x, not just one record type.
· Polymorphic extension
· Record concatenation
· Are labels first-class?
· etc
Give examples of why each is useful. Simply writing down these
features in a clear way would be a useful exercise. Probably some
are “must have” for some people, but others might be optional.
This is what I was trying to do with the wiki page. I stopped because
the only other contributor decided he could no longer contribute, and
I felt I was talking to myself. If we want to be rational about the
design, we need real examples to demonstrate what is genuinely useful,
and I don't have that many of them.
Barney.
_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell