
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. Bob