2017-06-20 2 views
2

J'essaie d'installer une application Termite - Util mais je reçois cette erreur avec la ligne 14Newtype Dérivation Monad Erreur

newtype CE m a = CE {unCE :: m a} deriving (Monad) 

L'erreur dit:

ContextError.hs: 14: 45 : Aucune instance pour (Applicative (CE m)) découlant de la clause 'deriving' d'une déclaration de type de données Correction possible: utilisez une déclaration 'dérivation' autonome, afin de pouvoir sp ecify le contexte de l'instance vous lors du calcul de l'instance pour (Monad (CE m))

je alredy essayer avec la solution proposée dans CIS 194: Homework 7

ajoutant ceci:

exemple Applicative (CE m) où pur = retour (< *>) = ap

mais je reçois cette erreur encore

ContextError.hs: 14: 45: Aucun cas pour (Functor (CE m)) résultant de la 'découlant' clause d'une déclaration de type de données fixe possible: utiliser un autonome « ​​dérivant par exemple » déclaration, afin que vous puissiez préciser le contexte de l'instance vous lors du calcul de l'instance pour (Monad (CE m))

Je ne sais vraiment pas comment procéder, je suis nouveau avec Haskell

Merci d'avance.

+2

Pour autant que je sache, c'est parce que la base a changé: maintenant 'Monad' exige le type d'être' Applicative'. –

+6

Vous souhaitez probablement utiliser 'deriving (Functor, Applicative, Monad)' ensemble. Ce n'était pas nécessaire il y a quelques années, mais c'est maintenant. – chi

+0

Merci .. Il fonctionne avec 'dérivant (Functor, Applicative, Monad)' –

Répondre