J'essaie de faire les exercices dans Real World Haskell dans un mode TDD, en utilisant HUnit. Comme vous l'avez probablement deviné, je ne suis pas encore loin, donc je suis un débutant absolu en ce qui concerne Haskell. Étant donné le code suivant comment puis-je résoudre le ghci d'erreur suivant produit:Comment travailler avec assertEqual avec les types paramétrés
Type Ambigu variables
a' in the constraints:
Afficher une « résultant d'une utilisation de l'équationassertEqual' at List_Test.hs:6:27-58
un » résultant d'une utilisation de `assertEqual » à List_Test.hs: 6: 27-58 fix probable: ajouter une signature de type qui fixe ces variables de type (s)
de List_Test.hs:
module List_Test
where
import List
import Test.HUnit
fromEmptyList = TestCase $ assertEqual "" [] (toList (Nil))
main = runTestTT fromEmptyList
List.hs:
module List
where
data List a = Cons a (List a)
| Nil
deriving (Show)
toList Nil = []
toList (Cons a b) = (:) a (toList b)
J'ai essayé d'ajouter des contraintes de type à la fois à la déclaration List et à la définition toList sans succès. Une recherche sur Internet n'a également fourni aucune information.
grâce, ne connaissait pas la syntaxe pour spécifier le type de retour pour un appel donné à une fonction. –