Size: a a a

2021 April 01

AP

Aleksei (astynax) Pi... in Haskell
XÆA-XII
Так вроде так же и должно работать?
try пробует прогнать подпарсер, но потом откатывает в начало инпута
источник

AP

Aleksei (astynax) Pi... in Haskell
Т.е. если в самих парсерах рекурсия, то инпут не будет потребляться совсем и будет цикл
источник

JS

Jerzy Syrowiecki in Haskell
XÆA-XII
function :: Parser Expr
function = indentBlock $ do
 rword "let"
 name <- word
 args <- many word
 char '='
 return (L.IndentMany Nothing (return . Function name args ) expr')

expr' :: Parser Expr
expr' = try function <|> ...

Вопрос: как сделать так, чтобы в любой функции  можно было бы объявить функцию, но в случае ошибки парсер бы не уходил в бесконечную рекурсию?
выложите весь код, если хотите, чтобы кто-то поискал неправильную рекурсию вместе с вами
источник

X

XÆA-XII in Haskell
источник

X

XÆA-XII in Haskell
Aleksei (astynax) Pirogov
try пробует прогнать подпарсер, но потом откатывает в начало инпута
Что тогда делать?
источник

AP

Aleksei (astynax) Pi... in Haskell
Попробуйте мегапарсековый Debug
источник

AP

Aleksei (astynax) Pi... in Haskell
Он подробно выводит то, как и что парсится
источник

AP

Aleksei (astynax) Pi... in Haskell
И погоняйте подпарсеры отдельно от мелких к крупным
источник

L

Lierdakil in Haskell
Проблема тут: L.skipBlockCommentNested "" ""
источник

L

Lierdakil in Haskell
пустые строки аргументами
источник

X

XÆA-XII in Haskell
Lierdakil
Проблема тут: L.skipBlockCommentNested "" ""
Спасибо огромное
источник

к

кана in Haskell
есть в мегапарсек туторе об этом замечание, что не нужно в L.space передавать парсеры, которые успешные, но ничего не поглощают токены, вместо этого нужно empty использовать
источник

к

кана in Haskell
Jerzy Syrowiecki
кстати, let - это не функция
да это же его язык, он может хоть через "type" функции объявлять
источник

[

[BRM]White Rabbit in Haskell
хочу объявлять функции через my_best_function
источник

JS

Jerzy Syrowiecki in Haskell
кана
да это же его язык, он может хоть через "type" функции объявлять
тут наоборот, let ограничен до функций
источник

к

кана in Haskell
хм, ну и что. Может не функции там через val будут, или все будет функцией
источник

Э

Эд in Haskell
Стоит ли на хаскеле писать сервер?
источник

MK

Maxim Koltsov in Haskell
Да
источник

X

XÆA-XII in Haskell
Эд
Стоит ли на хаскеле писать сервер?
На акторах
источник

[

[BRM]White Rabbit in Haskell
на серванте
источник