summaryrefslogtreecommitdiff
path: root/main.lisp
diff options
context:
space:
mode:
authorJuan Manuel Tomás <jtomas1815@gmail.com>2025-12-31 16:14:31 -0300
committerJuan Manuel Tomás <jtomas1815@gmail.com>2025-12-31 16:14:31 -0300
commit9566e92321a1ed29a7f5903a3ba4ab16de3783b9 (patch)
treedb2360d29cc3e8fe931b868017c662fc6aabbc5f /main.lisp
parent13525655b8a8577b0f1f467515ec259e85028b10 (diff)
downloadmonparser-9566e92321a1ed29a7f5903a3ba4ab16de3783b9.tar.gz
monparser-9566e92321a1ed29a7f5903a3ba4ab16de3783b9.zip
Type check functions
Diffstat (limited to 'main.lisp')
-rw-r--r--main.lisp10
1 files changed, 5 insertions, 5 deletions
diff --git a/main.lisp b/main.lisp
index 8938f14..3e6f255 100644
--- a/main.lisp
+++ b/main.lisp
@@ -1,12 +1,12 @@
(in-package #:monparser)
+(declaim (ftype (function (parser string) result) parse))
(defun parse (parser data)
- (if (typep data 'string)
- (funcall parser
- (make-instance 'text :data data)
- (make-instance 'text :data data))
- (error "Only string parsing is allowed.")))
+ (funcall parser
+ (make-instance 'cursor :data data)
+ (make-instance 'cursor :data data)))
+(declaim (ftype (function (parser string) parser) append-on-failure))
(defun append-on-failure (p message)
(lambda (start input)
(let ((result (funcall p start input)))