当我尝试编写一个简单的示例时,我收到Constraint
不在范围内的错误,
{-# LANGUAGE UndecidableInstances,
MultiParamTypeClasses,
KindSignatures,
Rank2Types,
ConstraintKinds,
FlexibleInstances,
OverlappingInstances,
TypeFamilies #-}
type family A a :: Constraint
错误是,
> 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.
约束同义词似乎按预期工作,
type ShowOrd a = (Ord a, Show a)
提前致谢。
答案 0 :(得分:26)
您的错误似乎是由Constraint
造成的,不出所料,不在范围内。您需要从GHC.Prim
或from GHC.Exts
导入。
似乎有点奇怪的是,启用ConstraintKinds
并不会自动将其带入范围,就像我在一个7.3.2快照构建中所做的那样,但是你去了。