Representing Tuple types as products
tatd2 at kent.ac.uk
Mon Feb 6 09:06:38 EST 2006
On 6 Feb 2006, at 13:58, 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. ((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.
Indeed, I think this only really becomes applicable when unicode is
available, because we're all used to seeing tuples being written as
cross products on the theoretical side of things. I'm just thinking
that if we can get closer to the maths by using the greek letters,
can we also get closer by using the same syntax?
I suspect that I would use it, but only where I was doing something
like directly implementing an abstract machine - i.e. when I want the
Haskell to look as much like the theory as possible.
More information about the Haskell-prime