[Haskell-cafe] Showing the 1 element tuple
ndmitchell at gmail.com
Tue Dec 19 19:32:06 EST 2006
> Python uses the syntax (foo,) to denote a singleton tuple (that is an extra
> comma at the end); quoting the python tutorial "Ugly, but effective".
Yes, I thought of that, the issue is:
(a,b) is considered syntactic sugar for (,) a b
(a,) is syntactic sugar for...
And the place I'm displaying this is definately after desugaring!
> Could tuples be implemented as an HList?
> singleton = (`hCons` hNil)
Not in Yhc, no higher rank types :) Also tuples are really really
common, every class function has quite a few floating around - HList
is just too much overhead (I think).
> Tuples represent dimensionality therefore a 1-element tuple is just a
> 1-dimensional value ie the value itself hence a == (a) == ((a)) == (((a)))
Tuples are a box you can put things in, in Haskell:
data Tuple a = Tuple a
Tuple (Tuple 1) /= 1
(either at runtime, at type time, or any other time)
More information about the Haskell-Cafe