[GHC] #9390: Inlining prevents evaluation of ignored parts of unboxed tuples

GHC ghc-devs at haskell.org
Fri Aug 1 06:07:07 UTC 2014


#9390: Inlining prevents evaluation of ignored parts of unboxed tuples
-------------------------------------+-------------------------------------
              Reporter:  snoyberg    |            Owner:
                  Type:  bug         |           Status:  new
              Priority:  normal      |        Milestone:
             Component:  Compiler    |          Version:  7.8.3
            Resolution:              |         Keywords:
      Operating System:  Linux       |     Architecture:  x86_64 (amd64)
       Type of failure:  Incorrect   |       Difficulty:  Unknown
  result at runtime                  |       Blocked By:
             Test Case:              |  Related Tickets:
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------

Comment (by carter):

 its important to also note from the docs in GHC.Prim

 data State# s Source

 State# is the primitive, unlifted type of states. It has one type
 parameter, thus State# RealWorld, or State# s, where s is a type variable.
 The only purpose of the type parameter is to keep different state threads
 separate. It is represented by nothing at all.

 data RealWorld Source

 RealWorld is deeply magical. It is primitive, but it is not unlifted
 (hence ptrArg). We never manipulate values of type RealWorld; it's only
 used in the type system, to parameterise State#.

 i'm not sure if your expectations on the evaluation are correct from this
 perspective. I could /likely am incorrect though.

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


More information about the ghc-tickets mailing list