diff options
author | Boutade <thegoofist@protonmail.com> | 2019-05-10 18:54:43 -0500 |
---|---|---|
committer | Boutade <thegoofist@protonmail.com> | 2019-05-10 18:54:43 -0500 |
commit | 6e2699e11f464228fecc7768cb72609abb5c048c (patch) | |
tree | 41d6c33b2bed39ff2947e2f3d25c3665bcfc1b1f /parzival.lisp | |
parent | eb1c7ff85dce00538358ea7659a1f94988749824 (diff) |
updated readme
Diffstat (limited to 'parzival.lisp')
-rw-r--r-- | parzival.lisp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/parzival.lisp b/parzival.lisp index 441ccc3..9884068 100644 --- a/parzival.lisp +++ b/parzival.lisp @@ -165,9 +165,10 @@ in then. If the parse fails the combinator else is run instead." (defmacro <<let (bindings expression) - "Chain the results of several parses, failing whenever any of them fail, and - combine them in a final parser. BINDINGS is a list of (variable parser) - pairs. EXPRESSION should return a parser" + "Introduce bindings for the results of several consequtive parses. If one of + them fails then the whole expression fails. BINDINGS should be analogus to a + let expression, i.e. (variable parser) pairs. EXPRESSION should be any + expression that returns a parser - it can make use of the bound variables" (if (null bindings) expression `(<<bind ,(cadar bindings) (lambda (,(caar bindings)) |