[GHC] #14860: QuantifiedConstraints: Can't quantify constraint involving type family
GHC
ghc-devs at haskell.org
Tue Feb 27 17:37:17 UTC 2018
#14860: QuantifiedConstraints: Can't quantify constraint involving type family
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler (Type | Version: 8.5
checker) | Keywords:
Resolution: | QuantifiedConstraints wipT2893
Operating System: Unknown/Multiple | Architecture:
Type of failure: GHC rejects | Unknown/Multiple
valid program | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by RyanGlScott):
Indeed, GHC appears to have no trouble with this:
{{{#!hs
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE QuantifiedConstraints #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE UndecidableInstances #-}
module Bug where
import Control.Monad
newtype Free cls a = Free (forall xx. cls xx => (a -> xx) -> xx)
instance Functor (Free cls)
instance Applicative (Free cls)
instance (forall xx. cls (Free cls xx)) => Monad (Free cls) where
Free f >>= g = f g
f :: Free Show (Free Show a) -> Free Show a
f = join
}}}
{{{
Bug.hs:18:5: error:
• No instance for (Show (Free Show xx))
arising from a use of ‘join’
• In the expression: join
In an equation for ‘f’: f = join
|
18 | f = join
| ^^^^
}}}
Here, we reject the use site, not the instance.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14860#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list