:kind command allows unsaturated type family,
data A = B
type family
F a where
F B = String
infixr 9 `Compose`
class (f (g x)) => (f `Compose` g) x
instance (f (g x)) => (f `Compose` g) x
GHCi accepts
ghci> :kind Compose Eq F
Compose Eq F :: A -> Constraint
but when used in code it gets rejected
-- tvI6.hs:13:8-33: error: …
-- • The type family ‘F’ should have 1 argument, but has been given none
-- • In the type signature:
-- foo :: (Eq `Compose` F) a => String
-- Compilation failed.
foo :: (Eq`Compose`F) a => String
foo = undefined
Bug? Version 8.0.0.20160511
Trac metadata
Trac field | Value |
---|---|
Version | 8.0.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |