[GHC] #10561: "deriving (Functor)" on a polykinded type produces ill-kinded instance

GHC ghc-devs at haskell.org
Mon Jun 22 15:50:48 UTC 2015


#10561: "deriving (Functor)" on a polykinded type produces ill-kinded instance
-------------------------------------+-------------------------------------
              Reporter:  rwbarton    |             Owner:
                  Type:  bug         |            Status:  new
              Priority:  normal      |         Milestone:
             Component:  Compiler    |           Version:  7.11
              Keywords:              |  Operating System:  Unknown/Multiple
          Architecture:              |   Type of failure:  None/Unknown
  Unknown/Multiple                   |        Blocked By:
             Test Case:              |   Related Tickets:
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------
 Arose in #10524, and new since 7.10.

 {{{
 rwbarton at morphism:/tmp$ ~/ghc/inplace/bin/ghc-stage2 --interactive
 GHCi, version 7.11.20150615: http://www.haskell.org/ghc/  :? for help
 Prelude> :set -XPolyKinds -XDeriveFunctor -ddump-deriv -fprint-explicit-
 kinds
 Prelude> newtype Compose f g a = Compose (f (g a)) deriving Functor

 ==================== Derived instances ====================
 Derived instances:
   instance forall (k_and :: BOX)
                   (f_ane :: k_and -> *)
                   (g_anf :: * -> k_and).
            (GHC.Base.Functor f_ane, GHC.Base.Functor g_anf) =>
            GHC.Base.Functor (Ghci1.Compose k_and * f_ane g_anf) where
     GHC.Base.fmap f_ang (Ghci1.Compose a1_anh)
       = Ghci1.Compose (GHC.Base.fmap (GHC.Base.fmap f_ang) a1_anh)


 Generic representation:

   Generated datatypes for meta-information:

   Representation types:


 Prelude> :i GHC.Base.Functor
 class Functor (f :: * -> *) where
 [...]
 }}}

 The context `(GHC.Base.Functor f_ane, GHC.Base.Functor g_anf)` is ill-
 kinded except when `k_and = *`.

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


More information about the ghc-tickets mailing list