Unit unboxed tuples

Simon Peyton-Jones simonpj at microsoft.com
Fri Dec 23 14:34:49 CET 2011


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 at haskell.org [mailto:glasgow-haskell-
| users-bounces at haskell.org] On Behalf Of Ian Lynagh
| Sent: 23 December 2011 13:17
| To: glasgow-haskell-users at 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 at haskell.org
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-users





More information about the Glasgow-haskell-users mailing list