
Your table isn't quite right. For data constructors the current situation is this: Arguments Boxed Unboxed 3 ( , , ) (# , , #) 2 ( , ) (# , #) 1 (# #) 0 () Wierd! Indeed, in my proposal, here is no singleton data constructor for boxed tuples either! Arguments Boxed Unboxed 3 ( , , ) (# , , #) 2 ( , ) (# , #) 1 0 () (# #) More uniform! If you the singleton-unboxed-tuple data constructor in source code, as a function, you'd write (\x -> (# x #)). In a pattern, or applied, you'd write (# x #). So then we have (for data constructors): Arguments Boxed Unboxed 3 ( , , ) (# , , #) 2 ( , ) (# , #) 1 0 () (# #) Simple, uniform. Simon | -----Original Message----- | From: glasgow-haskell-users-bounces@haskell.org [mailto:glasgow-haskell- | users-bounces@haskell.org] On Behalf Of Ian Lynagh | Sent: 23 December 2011 13:17 | To: glasgow-haskell-users@haskell.org | Subject: Re: Unit unboxed tuples | | On Fri, Dec 23, 2011 at 12:46:38PM +0000, Simon Peyton-Jones wrote: | > Dear GHC users | > | > I've just discovered something very peculiar with unboxed tuples in GHC. | | The problem is that there is no boxed singleton tuple, whereas there is | an unboxed singleton tuple, so there is a conflict between the data | constructor for singleton and unit, right?: | | Arguments Boxed Unboxed | 3 ( , , ) (# , , #) | 2 ( , ) (# , #) | 1 (# #) | 0 () (# #) | | | Thanks | Ian | | | _______________________________________________ | Glasgow-haskell-users mailing list | Glasgow-haskell-users@haskell.org | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users