Representing Tuple types as products

Jan-Willem Maessen jmaessen at
Mon Feb 6 19:45:34 EST 2006

On Feb 6, 2006, at 8:58 AM, Ben Rudiak-Gould wrote:

> Thomas Davie wrote:
>> fst :: α × β → α
> even without Unicode we could allow
>     fst :: a * b -> a
> like ML. But I'm not sure I like this.

I am on the record as hating this with a burning passion,  
personally.  This is one of those places where mathematical notation  
actually obscures rather than clarifying.  Continuing the error in ML  
was a mistake.  Fundamentally, I *like* that the k-tuple type in  
Haskell looks like a k-tuple, and not some randomly-associated infix  
binary operator.

-Jan-Willem Maessen

> ((a,b),c) and (a,(b,c)) and (a,b,c) all feel distinct to me, but  
> (a*b)*c, a*(b*c) and a*b*c feel the same. I could easily get used  
> to it, but I doubt I'd use it as long as the old syntax remained  
> available.
> -- Ben
> _______________________________________________
> Haskell-prime mailing list
> Haskell-prime at

More information about the Haskell-prime mailing list