[GHC] #15181: Levity Polymorphic type signatures in GHC.Prim

GHC ghc-devs at haskell.org
Wed May 23 15:10:33 UTC 2018


#15181: Levity Polymorphic type signatures in GHC.Prim
-------------------------------------+-------------------------------------
        Reporter:  andrewthad        |                Owner:  (none)
            Type:  bug               |               Status:  closed
        Priority:  normal            |            Milestone:  8.6.1
       Component:  Compiler          |              Version:  8.2.2
      Resolution:  duplicate         |             Keywords:
                                     |  LevityPolymorphism
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #11786            |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Changes (by RyanGlScott):

 * status:  new => closed
 * resolution:   => duplicate
 * related:   => #11786


Comment:

 Indeed. Note that the correct type signatures are actually displayed with
 `:info`:

 {{{
 λ> :info raise#
 raise# ::
   forall b (q :: GHC.Types.RuntimeRep) (a :: TYPE q). b -> a
         -- Defined in ‘GHC.Prim’
 λ> :info unsafeCoerce#
 unsafeCoerce# ::
   forall (k0 :: GHC.Types.RuntimeRep) (k1 :: GHC.Types.RuntimeRep) (a ::
 TYPE
 k0) (b :: TYPE k1).
   a -> b
         -- Defined in ‘GHC.Prim’
 λ> :info mkWeak#
 mkWeak# ::
   forall (q :: GHC.Types.RuntimeRep) (a :: TYPE q) b c.
   a
   -> b
   -> (State# RealWorld -> (# State# RealWorld, c #))
   -> State# RealWorld
   -> (# State# RealWorld, Weak# b #)
         -- Defined in ‘GHC.Prim’
 }}}

 However, `:type` does not show the same thing with `-fprint-explicit-
 runtime-reps` enabled. In short, this is a pretty-printing issue with
 `:type`, the subject of #11786. I'll close this ticket in favor of that
 one.

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


More information about the ghc-tickets mailing list