
On Fri, Oct 3, 2008 at 2:29 PM, Jason Dusek
Lennart Augustsson
wrote: But (a) is not a lifted version of a, whereas (a,b) is a lifted version of the a b product. So it's not consistent, and thereby wrong.
Well, we can't represent the unlifted product in Haskell, right? You have to use some constructor. So if we just say we are using tuples to represent unlifted products, what's so bad about that?
Unless I'm confused, unboxed tuples represent unlifted products. In a sense this is "[using] some constructor", but in a sense not, since an unboxed tuple constructor has no runtime representation.
The last two messages in this thread suggests this has more to do with the internals of Haskell than they do with consistent semantics -- so I am perhaps missing the point.
I think most Haskellers try their best to keep the first subservient to the second. Cheers, Tim -- Tim Chevalier * http://cs.pdx.edu/~tjc * Often in error, never in doubt "If you don't understand the causes, it is impossible to come up with a solution." -- Joe Biden