Hi !
Is it possible to add the chainl, chainl1, chainr, chainr1 combinators ? Although Control.Monad.Combinators.Expr does exists, it feels overkill to use when there's only one layer to the chain; and I don't really understand why it was removed from megaparsec
The implementation would be pretty straightforward :
chainl1 parser op = parser >>= rest
where rest x = do { f <- op; y <- parser; rest (f x y) } <|> return x
chainl parser op x = chainl1 parser op <|> return x
and so on...
Thanks in advance :) !
Hi !
Is it possible to add the
chainl,chainl1,chainr,chainr1combinators ? AlthoughControl.Monad.Combinators.Exprdoes exists, it feels overkill to use when there's only one layer to the chain; and I don't really understand why it was removed frommegaparsecThe implementation would be pretty straightforward :
and so on...
Thanks in advance :) !