Combinators for parseq.parsers and similar.
Combinators for `parseq.parsers` and similar.
(and & parsers)Applies parsers one after another. If any parser fails, it fails.
Applies `parsers` one after another. If any parser fails, it fails.
(bind p f)This is a monadic bind. A.k.a. >>=.
Its type is:
bind :: [Parser a, (a -> Parser b)] -> Parser b
This is a monadic bind. A.k.a. `>>=`. Its type is: bind :: [Parser a, (a -> Parser b)] -> Parser b
(fmap f p)Applies function f to the result of p.
Its type is:
fmap :: [Parser a, (a -> b)] -> Parser b
Applies function `f` to the result of `p`. Its type is: fmap :: [Parser a, (a -> b)] -> Parser b
(many* p)Parse p 0 or more times. Similar to * in regular expressions.
Parse `p` 0 or more times. Similar to `*` in regular expressions.
(many+ p)Parse p 1 or more times. Similar to + in regular expressions.
Parse `p` 1 or more times. Similar to `+` in regular expressions.
(merge parsers)Applies parsers in order and then merges their results into one big fat
map.
Applies `parsers` in order and then merges their results into one big fat map.
(one? p)Optionally parses one p, returning a sequential coll containing it, if
found. If p doesn't match, returns an empty coll.
Optionally parses one `p`, returning a sequential coll containing it, if found. If `p` doesn't match, returns an empty coll.
(or & parsers)Tries parsers one after another. Returns the result from the first parser
that succeeds. If all parsers fail, it fails.
Tries `parsers` one after another. Returns the result from the first parser that succeeds. If all parsers fail, it fails.
(peek p)Peeks with p (and fails if p fails). Does not consume any input.
Peeks with `p` (and fails if `p` fails). Does not consume any input.
(return v)A parser that does nothing and always succeeds. It returns the input
unchanged and the supplied v as a result.
A parser that does nothing and always succeeds. It returns the input unchanged and the supplied `v` as a result.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |