[Haskell] GADT: call for proper terminology

Doaitse Swierstra doaitse at cs.uu.nl
Wed Oct 11 17:57:45 EDT 2006


I would prefer notation like:

data  Parser a      | Alt (Parser a) (Parser a)
                     | Map ( b -> a)  (Parser b)
                     | Succ a
       Parser (a,b)  | Seq (Parser a) (Parser b)
       Parser String | Lit (String -> Bool)
       Parser [a]    | Many (Parser a)

This takes away the noise in the heading of the current GHC notation  
(which is just plain confusing), and enables e.g. grouping of common  
alternatives,

  Doaitse Swierstra




On Oct 11, 2006, at 11:42 PM, Lennart Augustsson wrote:

> Well, Kent Petersson and I proposed them as an addition to Haskell  
> in 1994, so they are not that new. :)
>
> 	-- Lennart
>
> http://web.cecs.pdx.edu/~sheard/papers/silly.pdf
>
> On Oct 11, 2006, at 09:47 , Paul Hudak wrote:
>
>> Lennart Augustsson wrote:
>>
>>> Well, I think the GADT type definition syntax is the syntax data  
>>> type definitions should have had from the start.  Too bad we  
>>> didn't  realize it 15 years ago.
>>>  -- Lennart
>>
>> I agree!  In my experience teaching Haskell, the current syntax is  
>> a bit confusing for newbies, and for years I've been telling  
>> students, "It really means this: ..." and then I write out a  
>> syntax more like GADT's.
>>
>> I also think that if we had adopted this syntax from the  
>> beginning, GADT's would have been "discovered" far sooner than now.
>>
>>    -Paul
>
> _______________________________________________
> Haskell mailing list
> Haskell at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell



More information about the Haskell mailing list