
#8950: Typeable instances for promoted lists and tuples -------------------------------------+------------------------------------ Reporter: kosmikus | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: libraries/base | Version: 7.8.1-rc2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by kosmikus): Just to clarify: `Typeable` works fine if I promote my own datatypes. It just doesn't work for the built-in lists and tuples. For example, this variant of my program above compiles fine: {{{ {-# LANGUAGE DataKinds, KindSignatures, PolyKinds, AutoDeriveTypeable, TypeOperators #-} import Data.Proxy import Data.Typeable data Foo (xs :: MyList *) (p :: MyPair * *) data MyList a = Cons a (MyList a) | Nil data MyPair a b = MyPair a b main :: IO () main = print (typeRep (Proxy :: Proxy (Foo (Int `Cons` Nil) ('MyPair Bool Char)))) }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8950#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler