Je travaille sur un projet dans Haskell pour la première fois et je travaille sur la traduction de mon ADT dans le code correctement, mais quand je suis en train d'écrire les définitions de type explicites pour mes fonctions et je charge mon code GHCi j'obtiens l'erreur suivante:erreur d'analyse sur l'entrée '::' lors d'une définition de type explicite pour une fonction qui accepte plusieurs arguments
Blockquote parse error on input ‘::’
la ligne en question est une fonction type appelé qui accepte un caractère et un tuple et renvoie un tuple comme indiqué ci-dessous:
type :: validChars -> tuple -> tuple
où validChars
est la liste des caractères valides, les définitions de mes listes sont présentées ici si cela aide:
tuple = (l, r, b, k)
l = [l | l <- validChars]
m = [m | m <- validChars]
b = [b | b <- validChars]
k = [k | k <- validChars]
validChars = [ chr c | c <-alphanumericChars , c >= 32, c <= 122]
alphanumericChars = [ a | a <- [0..255]]
J'ai vérifié pour vous assurer qu'il n'a pas été validChars
provoquant l'erreur en le remplaçant par le type Chars
comme ILLUSTRÉS
type :: Chars -> tuple -> tuple
mais je reçois toujours la même erreur, je suis un débutant complet à Haskell donc je manque probablement quelque chose d'important, mais je ne suis pas sûr de ce que serait exactement; J'ai regardé des réponses à des questions similaires que j'ai échoué jusqu'ici. Toute aide avec ceci serait appréciée.
'type' est [un mot-clé] (https://wiki.haskell.org/Keywords#type). Vos types doivent également commencer par [Capital Letters] (https://en.wikibooks.org/wiki/Haskell/Type_declarations) – HostileFork
Je me sens si stupide de ne pas vérifier cela, merci beaucoup! :) –