there isn't any difference, is there, with unboxed tuples?

Isaac Dupree isaacdupree at
Fri Jan 4 21:36:33 EST 2008

--> unboxed types in function results are automatically "lifted"... or 
what was the term meaning they could be _|_, failing to terminate, 
(because of the function-ness)?

--> unboxed tuples are specially restricted to be only allowed, among 
useful places, in function results.

Therefore (... -> ( a, b, c ) ) and (... -> (# a, b, c #)) are 
identical, assuming both are kind-correct (identical in terms of 
optimization and semantics, not type equality, of course).  Is that 
right?  If so, there's never an excuse to use unboxed tuples except to 
contain unboxed values (because then you don't have the choice of using 
boxed tuples, which can only contain boxed values of kind *).


More information about the Glasgow-haskell-users mailing list