I'm getting an error that Constraint
is not in scope, when I try to write a simple example,
{-# LANGUAGE UndecidableInstances,
MultiParamTypeClasses,
KindSignatures,
Rank2Types,
ConstraintKinds,
FlexibleInstances,
OverlappingInstances,
TypeFamilies #-}
type family A a :: Constraint
The error is,
> ghci test.hs
[1 of 1] Compiling Main ( test.hs, interpreted )
test.hs:10:20: Not in scope: type constructor or class `Constraint'
Failed, modules loaded: none.
Constraint synonyms seem to work as expected,
type ShowOrd a = (Ord a, Show a)
Thanks in advance.
Your error appears to be caused by Constraint
being, unsurprisingly, not in scope. You'll want to import it from GHC.Prim
or from GHC.Exts
.
It seems a bit odd that enabling ConstraintKinds
doesn't bring it into scope automatically, as it does in a 7.3.2 snapshot build I had lying around, but there you go.