[GHC] #12605: UnboxedSums causes parse error on hash operator e.g. `let (#) = (+)`

GHC ghc-devs at haskell.org
Tue Sep 20 22:04:48 UTC 2016


#12605: UnboxedSums causes parse error on hash operator e.g. `let (#) = (+)`
-------------------------------------+-------------------------------------
        Reporter:  jberryman         |                Owner:
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.1
      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 jberryman):

 Oh I see you're right, and maybe this is a dup of
 https://ghc.haskell.org/trac/ghc/ticket/12459

 However even if that's expected under `UnboxedTuples`, this seems to be a
 worse situation under `UnboxedSums`.

 I'm looking at https://ghc.haskell.org/trac/ghc/wiki/UnpackedSumTypes
 under "Unpacking ... This part is not yet implemented..." it seems to me
 the intention is to allow `UnboxedSums` to automatically optimize (has
 this been implemented in HEAD yet btw?):

 {{{
 data T1 a = Some a | None
 data T2 a = C {-# UNPACK #-} !(T1 a)
 }}}

 So a user might like to enable on a source tree for purposes of
 optimization; they don't need or want access to any new syntax.

 Let me know if I should open any new tickets. Feel free to do whatever you
 think with this one.

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


More information about the ghc-tickets mailing list