[GHC] #9301: Rank-2 constraints are assigned kind *

GHC ghc-devs at haskell.org
Sun Jul 13 11:18:24 UTC 2014


#9301: Rank-2 constraints are assigned kind *
-------------------------------------+------------------------------------
        Reporter:  heisenbug         |            Owner:
            Type:  bug               |           Status:  closed
        Priority:  normal            |        Milestone:
       Component:  Compiler          |          Version:  7.8.2
      Resolution:  duplicate         |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:
-------------------------------------+------------------------------------
Changes (by heisenbug):

 * status:  new => closed
 * resolution:   => duplicate


Comment:

 This very much looks like a duplicate of #9196, closing.

 But my point is that I'd like to have polymorphic (multiparameter)
 constraints, where the param universally abstracted over is a non-`*`
 kind, that is an ADT.

 See:
 {{{
 class Foo a where ...
 data Bar (b :: Bool) x = ...
 instance Foo (Bar True x) where ...
 instance Foo (Bar False x) where ...

 test :: (forall b. Foo (Bar b x)) =>...
 }}}
 Here the `forall` condition is satisfiable, as all `Bool` alternatives are
 covered with `instance` declarations.

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


More information about the ghc-tickets mailing list