[GHC] #8813: further support deriving instances Typeable1, Typeable2, etc

GHC ghc-devs at haskell.org
Mon Feb 24 14:12:53 UTC 2014


#8813: further support deriving instances Typeable1, Typeable2, etc
----------------------------------------------+----------------------------
        Reporter:  maeder                     |            Owner:
            Type:  task                       |           Status:  closed
        Priority:  normal                     |        Milestone:
       Component:  Compiler                   |          Version:
      Resolution:  wontfix                    |  7.8.1-rc1
Operating System:  Unknown/Multiple           |         Keywords:
 Type of failure:  GHC rejects valid program  |     Architecture:
       Test Case:                             |  Unknown/Multiple
        Blocking:                             |       Difficulty:  Unknown
                                              |       Blocked By:
                                              |  Related Tickets:
----------------------------------------------+----------------------------

Comment (by maeder):

 http://hackage.haskell.org/package/uni-graphs-2.2.1.0/docs/Graphs-
 GraphDisp.html contains an example where replacing Typeable1 by Typeable
 was not enough, because Typeable1 used to fix the kind. I had to add

 {{{
 +{-# LANGUAGE KindSignatures #-}
 }}}

 and replace the empty class as follows:
 {{{
 -class Typeable1 nodeType => NodeTypeClass nodeType
 +class Typeable (nodeType :: * -> *) => NodeTypeClass nodeType
 }}}

 So it would make sense to further supply Typeable1, Typeable2, etc.
 classes with matching kinds.

 Is there a way to circumvent the above "instances can only be derived"
 error?
 Is there a different way to supply TypeableN classes that imply/derive
 Typeable instances?

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


More information about the ghc-tickets mailing list