summaryrefslogtreecommitdiff
path: root/extra.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'extra.lisp')
-rw-r--r--extra.lisp8
1 files changed, 4 insertions, 4 deletions
diff --git a/extra.lisp b/extra.lisp
index c0a6a8a..9805ca0 100644
--- a/extra.lisp
+++ b/extra.lisp
@@ -4,7 +4,7 @@
(or (char= it #\Space)
(not (graphic-char-p it))))
-(declaim (ftype (function (parser integer integer) parser) repeat))
+(declaim (ftype (function (parser integer &optional integer) parser) repeat))
(defun repeat (p min &optional (max 0))
(if (> min 0)
(comp ((x p)
@@ -29,11 +29,11 @@
`(comp ,(reverse binding-list)
,(cons 'list (reverse name-list)))))
-(declaim (ftype (function (parser parser parser) parser) within))
-(defun within (left p right)
+(declaim (ftype (function (parser parser &optional parser) parser) within))
+(defun within (left p &optional right)
(comp ((_ left)
(cell p)
- (_ right))
+ (_ (or right left)))
cell))
(declaim (ftype (function (parser parser) parser) interlinked))