2017-06-21 136 views
-3

同時學習教程秒差距,我試過fllowing命令哈斯克爾秒差距錯誤

print (Parsec.parse (Parsec.many (Parsec.choice [Parsec.letter,Parsec.spaces ,(Parsec.char ','), Parsec.digit])) "" "hello1 , byebye2 ,") 

,並在控制檯中的錯誤是enter image description here

我不知道如何解決這個問題。這可以如何解決,任何想法?

回答

1

hackage

spaces :: Stream s m Char => ParsecT s u m() 
letter :: Stream s m Char => ParsecT s u m Char 

讓你有解析器,試圖給你Char S和一個,只是下降的輸入,讓您()。結果應該是什麼?

你可以使用

space :: Stream s m Char => ParsecT s u m Char 

(spaces *> return ' ') 

,而不是僅僅spaces取決於你想要的行爲。