#7485: Tuple constraints not properly kinded -------------------------------+-------------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: closed Priority: normal | Milestone: Component: Compiler | Version: 7.7 Resolution: invalid | Keywords: ConstraintKinds Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: None/Unknown | Difficulty: Unknown Testcase: | Blockedby: Blocking: | Related: -------------------------------+-------------------------------------------- Changes (by simonpj):
* status: new => closed * difficulty: => Unknown * resolution: => invalid Comment: I think that is as expected. In the source language at least, `*` and `Constraint` are distict kinds. So `(,)` has to have a particular kind, and it's `* -> * -> *`. However the distfix syntax version `(a,b)` has special treatment so that we can use the same syntax for type tuples and constraint tuples. It's not dissimilar to `(->)`. You can write `Int# -> Int`, but `(->)` as a separate type constructor has the more restrictive kind `(->) :: * -> * -> *`. I'm open to improvements. And/or suggested documentation. -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7485#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler _______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs