
25 Dec
2009
25 Dec
'09
9:25 p.m.
2009/12/25 Valery V. Vorotyntsev
1) How to write a parser that could be restarted? Like, it will be represented by a function that returns something along the lines
data ParseStepResult input result = Success (Maybe (input -> ParseStepResult input result)) (Maybe result) | Failure
(ie, parsers using stream combinators like Fudgets have that property) ie, either a continuation of parsing process and result or failure flag.
I think you're looking for `iteratees'.
I am looking more for the way to serialize intermediate parser computations. The first problem is, actually, easy one. ;)