diff options
Diffstat (limited to 'res/builtins.lisp')
-rw-r--r-- | res/builtins.lisp | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/res/builtins.lisp b/res/builtins.lisp index 1564e62..d1828f6 100644 --- a/res/builtins.lisp +++ b/res/builtins.lisp @@ -1,7 +1,33 @@ -(defun comment (...) ((pure nil))) +(core.defun comment (...) ((core.pure core.nil))) (comment "comment is a noop function for documentation") (export comment) +(comment "Re-exports from core") +(core.def def core.def) +(def defun core.defun) +(def if core.if) +(def nil core.nil) +(def stringify core.tostring) +(def pure core.pure) +(def lambda core.lambda) +(def seq core.seq) +(def import core.import) +(def debuglog core.debuglog) +(export def defun if nil stringify pure lambda seq import debuglog) + +(comment "Re-exports from arithmetic") +(def + core.arith.add) +(def / core.arith.div) +(def * core.arith.mul) +(def - core.arith.sub) +(def = core.arith.eq) +(def lt core.arith.less) +(export + / * - = lt) + +(comment "comparisons") +(defun gt (l r) (lt r l)) +(export gt) + (comment "if! a strict version of a regular if, meaning it evaluates both the falsy and the truthy case, instead of only one.") (defun if! (cond ifTrue ifFalse) (if cond ifTrue ifFalse)) @@ -26,7 +52,3 @@ (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) |