summaryrefslogtreecommitdiff
path: root/res
diff options
context:
space:
mode:
Diffstat (limited to 'res')
-rw-r--r--res/builtins.lisp10
-rw-r--r--res/stdtest.lisp6
2 files changed, 16 insertions, 0 deletions
diff --git a/res/builtins.lisp b/res/builtins.lisp
index e355c2f..1564e62 100644
--- a/res/builtins.lisp
+++ b/res/builtins.lisp
@@ -20,3 +20,13 @@
(def false :false)
(export true false)
+(comment "boolean operations. all of those are strict")
+(defun | (l r) (if l true r))
+(defun & (l r) (if l r false))
+(defun not (v) (if v false true))
+(defun ^ (l r) (if l (not r) r))
+(export | & not ^)
+
+(comment "comparisons")
+(defun gt (l r) (lt r l))
+(export gt)
diff --git a/res/stdtest.lisp b/res/stdtest.lisp
index 8de5164..bf230b3 100644
--- a/res/stdtest.lisp
+++ b/res/stdtest.lisp
@@ -14,3 +14,9 @@
(defun test.assert (cond message) (if cond noop (ntest.fail message)))
(export test.assert)
+(comment "Assert that two arguments are equal. Returns a closure")
+(defun test.assert-eq (actual expected)
+ (test.assert
+ (= actual expected)
+ (tostring "Expected" expected "got" actual)))
+(export test.assert-eq)