[GHC] #12612: Allow kinds of associated types to depend on earlier associated types

GHC ghc-devs at haskell.org
Fri Sep 23 19:17:11 UTC 2016


#12612: Allow kinds of associated types to depend on earlier associated types
-------------------------------------+-------------------------------------
           Reporter:  davemenendez   |             Owner:
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.0.1
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 GHC rejects the following code:

 {{{#!hs
 class C t where
     type K t :: Type
     type T t :: K t -> Type

     m :: t -> T t a
 }}}

 with this error message

 {{{
     • Type constructor ‘K’ cannot be used here
         (it is defined and used in the same recursive group)
     • In the kind ‘K t -> Type’
 }}}

 See [https://mail.haskell.org/pipermail/glasgow-haskell-
 users/2016-September/026402.html e-mail discussion]. This is connected to
 #12088, at least as far as defining instances of C.

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


More information about the ghc-tickets mailing list