Question gestion d'erreur Haskell
Salut à tous,
pour mes cours je dois implémenter en Haskell un module représentant des expressions arithmétiques, pour le moment tout se passe plutot bien. Le problème est que j'ai créé un data Store de type :
Code:
type Store = [(String, Float)]
ce type me permet d'associer un nom de variable à une valeur en float.
J'ai également une fonction qui va me renvoyer la valeur d'un nom de variable passé en paramètre
Code:
1 2 3 4 5 6
|
valeurVariable :: String -> Store -> Float
valeurVariable s [] = error "Variable introuvable"
valeurVariable s ((a, b):xs)
| s == a = b
| s /= a = valeurVariable s xs |
Je voulais savoir si à partir de ce code il était possible de coder une fonction de type
Code:
testErreur :: Store -> Maybe Int
qui appellerait valeurVariable avec un store et une variable a rechercher et qui me renverrait Nothing si l'exception a été levée.
Si cela n'est pas possible, y'a t'il un moyen de convertir un Maybe Float en Float, je dois absolument manipuler uniquement des Float pour la suite de mon programme.
Merci d'avance.