20

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)

提前致谢。

4

1 回答 1

26

不出所料,您的错误似乎是由于Constraint不在范围内引起的。您需要从GHC.PrimGHC.Exts导入它。

启用并不会自动将其纳入范围似乎有点奇怪ConstraintKinds,就像我在 7.3.2 快照版本中所做的那样,但你去吧。

于 2012-02-26T05:22:32.147 回答