Здравствуйте, Odissey_, Вы писали:
O_>Идею я понял, думаю смогу переписать под себя. Без try? Ну у Hutton`a вроде как формируется
O_>пустой список при неудачном парсинге, никаких исключений не бросается.
try здесь никак не связан с исключениями, этот комбинатор нужен для неограниченного заглядывания вперед.
Парсер foo1 не будет пробовать альтернативу baz, если bar съел часть входной строки и завершился неудачно; foo2 — будет.
foo1 = bar <|> baz
foo2 = try bar <|> baz