[GHC] #14673: Unary Unboxed Tuple Type Constructor

GHC ghc-devs at haskell.org
Tue Jan 30 11:06:15 UTC 2018


#14673: Unary Unboxed Tuple Type Constructor
-------------------------------------+-------------------------------------
        Reporter:  andrewthad        |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.4.1-alpha1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by hsyl20):

 Replying to [comment:4 simonpj]:
 > Yes, we have
 >
 > * Boxed tuple constructors: `()`, `Unit`, `(,)`, `(,,)`, etc
 > * Unboxed tuple constructors: `(##)`, `Unit#`, `(#,#)`, `(#,,#)`, etc

 The peculiarity of the one-tuple is unfortunate. Couldn't we aim towards
 something like this:
   - Boxed tuple constructors: `()*`, `(**)`, `(*,*)`, `(*,,*)`, etc.
   - Unboxed tuple constructors: `()#`, `(##)`, `(#,#)`, `(#,,#)`, etc.
   - Syntactic sugar: `()`, `(,)`, `(,,)`, etc. default to boxed tuples

 This would avoid the bikeshedding and fix the use of the name "unit" for a
 one-tuple.

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14673#comment:14>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list