Подтвердить что ты не робот

Каков синтаксис типов ограничений для 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)

Спасибо заранее.

4b9b3361

Ответ 1

Похоже, что ваша ошибка вызвана Constraint, что неудивительно, но не в области видимости. Вы захотите импортировать его из GHC.Prim или из GHC.Exts.

Кажется немного странным, что включение ConstraintKinds не приводит его в область автоматически, как это делается в сборке моментальных снимков 7.3.2, в которой я лежал, но там вы идете.