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.PrimからまたはからGHC.Extsインポートする必要があります。

ConstraintKinds私が横たわっていた 7.3.2 スナップショット ビルドのように、有効にしても自動的にスコープに含まれないのは少し奇妙に思えますが、それで十分です。

于 2012-02-26T05:22:32.147 に答える