On Saturday 19 November 2005 17:35, Bulat Ziganshin wrote:
> Hello David,
>
> Saturday, November 19, 2005, 4:57:09 PM, you wrote:
>
> DR> I'd benefit from just a list of problems that the record
> proposals want to DR> solve.
>
> DR> 1. The field namespace issue.
> DR> 2. Multi-constructor getters, ideally as a function.
> DR> 3. "Safe" getters for multi-constructor data types.
> DR> 4. Getters for multiple data types with a common field.
> DR> 5. Setters as functions.
> DR> 6. Anonymous records.
> DR> 7. Unordered records.
>
> DR> Argh.  When I think about records too long I get dizzy.
>
> really you are wrote solutions for all these problems (except 6), and
> it's just an additional syntax sugar (like the fields itself). for
> beginning, we must split this list to two parts: belonging to static
> (like H98) and dynamic (anonymous) records. items in your list
> (except 6) belongs to static ones. dynamic records is whole different
> beast and it's really hard to master, so the first question will be:
>
> "are we wanna to have in Haskell only static records, only dynamic
> records or both?"
>
> as i see, GHC team want to implement such proposal, which will
> resolve both issues. and wainting (waiting+wanting:) for such
> solution, they are don't implement suggestions which address only
> static records problems
>
> but the dynamic records is too complex thing: it may be syntactically
> incompatible with H98, it may require changes to GHC internals and so
> on, so they are delayed until better times
>
>
> besides this all, i want to add one more item to your list:
>
> 7. OOP-like fields inheritance:
>
> data Coord = { x,y :: Double }
> data Point : Coord = { c :: Color }
>
> of course this is just another sort of syntax sugar once we start
> using classes to define getter/setter functions

Please take a look at the recent paper by Daan Leijen 
(http://www.cs.uu.nl/~daan/pubs.html#scopedlabels). I think this would 
solve the mentioned problems and has the additional advantage of 
supporting anonymous records. The author claims his proposal to be 
integrable with most known type systems.

Ben
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to