Quelle est la contrainte types de syntaxe pour le GHC 7.4.1?
-
13-11-2019 - |
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.
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