[GHC] #9106: GHC Panic related to functional dependencies - kindFunResult

GHC ghc-devs at haskell.org
Thu May 15 14:48:00 UTC 2014


#9106: GHC Panic related to functional dependencies - kindFunResult
---------------------------------------+---------------------------
        Reporter:  yuriy               |            Owner:
            Type:  bug                 |           Status:  new
        Priority:  normal              |        Milestone:
       Component:  Compiler            |          Version:  7.8.2
      Resolution:                      |         Keywords:
Operating System:  Windows             |     Architecture:  x86
 Type of failure:  Compile-time crash  |       Difficulty:  Unknown
       Test Case:                      |       Blocked By:
        Blocking:                      |  Related Tickets:
---------------------------------------+---------------------------

Comment (by darchon):

 Also annotating the `Z` instance with an explicit kind, `(f :: *)`, makes
 the `GHC.TypeLits` version work:

 {{{
 {-# LANGUAGE
   MultiParamTypeClasses, DataKinds, FunctionalDependencies, TypeOperators,
   KindSignatures, PolyKinds, FlexibleInstances, FlexibleContexts,
 UndecidableInstances, ScopedTypeVariables #-}
 module FunctorN where

 import GHC.TypeLits

 data Proxy (a :: k) = Proxy

 class FunctorN n f a fa | n f a -> fa where
   fmapn :: Proxy n -> Proxy f -> (a -> a) -> fa -> fa

 instance FunctorN 0 (f :: *) a a where
   fmapn _ _ a = a

 instance (Functor f, FunctorN (n - 1) f a fa) => FunctorN n f a (f fa)
 where
   fmapn _ pf f = fmap (fmapn (Proxy :: Proxy (n-1)) pf f)
 }}}

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


More information about the ghc-tickets mailing list