bonjour,
je débute en haskell et j'ai acheté le livre "programming in haskkel".
au chapitre sur les parsers il y a le code recursif sur les chaines dont je n'arrive pas a comprendre comment il se déroule.
Voici le code
la suite est ici http://www.cs.nott.ac.uk/~gmh/Parsing.lhs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 > char :: Char -> Parser Char > char x = sat (== x) > > string :: String -> Parser String > string [] = return [] > string (x:xs) = do char x > string xs > return (x:xs) > sat :: (Char -> Bool) -> Parser Char > sat p = do x <- item > if p x then return x else failure
comment le return (x:xs) est atteint?
j’essaie de décomposer en étape l'exemple suivant:
mais je ne vois pas comment le résultat aboutit a [("to","pi")].
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 parse (string "to") "topi"
si quelqu'un peut dérouler l'exemple.
Merci.
Partager