[GHC] #12549: Panic on ":t datatypeName"

GHC ghc-devs at haskell.org
Tue Nov 1 15:48:33 UTC 2016


#12549: Panic on ":t datatypeName"
---------------------------------+--------------------------------------
        Reporter:  johnleo       |                Owner:  johnleo
            Type:  bug           |               Status:  new
        Priority:  normal        |            Milestone:
       Component:  Compiler      |              Version:  8.1
      Resolution:                |             Keywords:
Operating System:  MacOS X       |         Architecture:  x86_64 (amd64)
 Type of failure:  None/Unknown  |            Test Case:
      Blocked By:                |             Blocking:
 Related Tickets:                |  Differential Rev(s):
       Wiki Page:                |
---------------------------------+--------------------------------------

Comment (by johnleo):

 Replying to [comment:11 goldfire]:
 > There's clearly something wrong with instantiation here, but the types
 for the class methods should be the same in 8.0 as in 8.1.

 Actually as noted above they are in fact different.  In 8.0.1:
 {{{
 > class C a where f :: b a c
 > :t f
 f ∷ ∀ {k} {k1} {a ∷ k} {b ∷ k → k1 → ★} {c ∷ k1}. C k a ⇒ b a c
 }}}

 In 8.1:
 {{{
 > class C a where f :: b a c
 > :t +v f
 f ∷ ∀ {k} (a ∷ k). C k a ⇒ ∀ {k1} (b ∷ k → k1 → ★) (c ∷ k1). b a c
 }}}
 The bug is then that in 8.1 the `k` referred to by `b` tries to reference
 the kind defined before the class constraint, which is not in scope at
 that point, causing the panic.

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


More information about the ghc-tickets mailing list