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

GHC ghc-devs at haskell.org
Tue Nov 1 15:35:39 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 goldfire):

 The types you report (with `+v`) look the way I would expect them to be in
 GHC 8.0, as well. Suppose we have

 {{{
 class <cls> <vars> where
   <meth> :: <ty>
 }}}

 Then the type of `<meth>` is `forall <vars>. <cls> <vars> => <ty>`. Note
 that if a method type mentions fresh type variables (that is, those not
 introduced in the class head), then the method type will be quantified
 over those variables. So

 {{{
 class C a where
   f :: a b c
 }}}

 is equivalent to

 {{{
 class C a where
   f :: forall b c. a b c
 }}}

 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.

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


More information about the ghc-tickets mailing list