[GHC] #3990: UNPACK doesn't unbox data families

GHC cvs-ghc at haskell.org
Wed Apr 14 09:29:07 EDT 2010


#3990: UNPACK doesn't unbox data families
---------------------------------+------------------------------------------
    Reporter:  rl                |       Owner:                         
        Type:  bug               |      Status:  new                    
    Priority:  normal            |   Component:  Compiler               
     Version:  6.13              |    Keywords:                         
          Os:  Unknown/Multiple  |    Testcase:                         
Architecture:  Unknown/Multiple  |     Failure:  Runtime performance bug
---------------------------------+------------------------------------------
 Here is an example:

 {{{
 data family Complex a
 data instance Complex Double = CD {-# UNPACK #-} !Double
                                   {-# UNPACK #-} !Double

 data T = T {-# UNPACK #-} !(Complex Double)
 }}}

 We would like T to just store two Double# but that doesn't happen.
 Contrast this with

 {{{
 data Complex_Double = CD {-# UNPACK #-} !Double
                          {-# UNPACK #-} !Double

 data T = T {-# UNPACK #-} !Complex_Double
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3990>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the Glasgow-haskell-bugs mailing list