Question

J'obtiens une erreur que Constraint n'est pas dans la portée, quand j'essaye d'écrire un exemple simple,

{-# LANGUAGE UndecidableInstances,
            MultiParamTypeClasses,
            KindSignatures,
            Rank2Types,
            ConstraintKinds,
            FlexibleInstances,
            OverlappingInstances,
            TypeFamilies #-}

type family A a :: Constraint

L'erreur est,

> 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.

Contrainte synonymes semblent fonctionner comme prévu,

type ShowOrd a = (Ord a, Show a)

Merci à l'avance.

Était-ce utile?

La solution

Votre erreur semble être causées par Constraint être, sans surprise, pas dans le champ d'application.Vous aurez envie de les importer à partir de GHC.Prim ou à partir de GHC.Exts.

Il semble un peu étrange que l'activation de ConstraintKinds ne pas l'amener dans le champ d'application automatiquement, comme il le fait dans un 7.3.2 instantané de construire j'avais traîner, mais là vous allez.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top