[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