OR
authorDavid Vazquez <davazp@gmail.com>
Tue, 18 Dec 2012 01:47:52 +0000 (01:47 +0000)
committerDavid Vazquez <davazp@gmail.com>
Tue, 18 Dec 2012 01:47:52 +0000 (01:47 +0000)
test.lisp

index ee7a699..1f12dc5 100644 (file)
--- a/test.lisp
+++ b/test.lisp
           (and ,@(cdr forms))
           nil))))
 
+
+(defmacro or (&rest forms)
+  (cond
+    ((null forms)
+     nil)
+    ((null (cdr forms))
+     (car forms))
+    (t
+     `(if ,(car forms)
+          t
+          (or ,@(cdr forms))))))
+
+
+(defun char= (x y) (= x y))
+
+
 ;;;; Reader
 
 ;;; It is a basic Lisp reader. It does not use advanced stuff
 (defun %peek-char (stream)
   (and (< (cdr stream) (length (car stream)))
        (char (car stream) (cdr stream))))
+
+(defun whitespacep (ch)
+  (or (char= ch #\space) (char= ch #\newline) (char= ch #\tab)))