Каков синтаксис типов ограничений для GHC 7.4.1?
Я получаю сообщение об ошибке 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)
Спасибо заранее.
Ответы
Ответ 1
Похоже, что ваша ошибка вызвана Constraint
, что неудивительно, но не в области видимости. Вы захотите импортировать его из GHC.Prim
или из GHC.Exts
.
Кажется немного странным, что включение ConstraintKinds
не приводит его в область автоматически, как это делается в сборке моментальных снимков 7.3.2, в которой я лежал, но там вы идете.