summaryrefslogtreecommitdiff
path: root/extra.lisp
diff options
context:
space:
mode:
authorJuan Manuel Tomás <jtomas1815@gmail.com>2026-03-23 09:29:01 -0300
committerJuan Manuel Tomás <jtomas1815@gmail.com>2026-03-23 09:29:01 -0300
commit8a97d64adef87a9f12824c5653bc5182b9a4f06d (patch)
tree3e915aa575f1fa1b89b0a87fc17a89bcec53f50b /extra.lisp
parent3df2ac55e233574a08b938f29f846069f3776e42 (diff)
downloadmonparser-8a97d64adef87a9f12824c5653bc5182b9a4f06d.tar.gz
monparser-8a97d64adef87a9f12824c5653bc5182b9a4f06d.zip
Turn literal into a functionHEADmain
Diffstat (limited to 'extra.lisp')
-rw-r--r--extra.lisp6
1 files changed, 3 insertions, 3 deletions
diff --git a/extra.lisp b/extra.lisp
index 9805ca0..fc19da8 100644
--- a/extra.lisp
+++ b/extra.lisp
@@ -16,7 +16,7 @@
(if x (cons x xs) x))
nothing)))
-(defmacro literal (word)
+(defun literal (word)
(when (not (stringp word))
(error "Literal only accepts strings as input."))
(let ((binding-list '())
@@ -26,8 +26,8 @@
(let ((name (gensym)))
(push name name-list)
(push `(,name (unit ,c)) binding-list))))
- `(comp ,(reverse binding-list)
- ,(cons 'list (reverse name-list)))))
+ (eval `(comp ,(reverse binding-list)
+ ,(cons 'list (reverse name-list))))))
(declaim (ftype (function (parser parser &optional parser) parser) within))
(defun within (left p &optional right)