summaryrefslogtreecommitdiff
path: root/defun-1.lisp
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-07-30 00:21:33 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-07-30 00:21:33 +0200
commitd30b5e487ccbd85deb385a19e12233a9ef9008e2 (patch)
tree9c6e8dc9bafbb7629b16c23923a8f6ae65be5968 /defun-1.lisp
parent9c3236394224167b31eeb402fa78928a0e3eb7fe (diff)
Add FUNCALL, LAMBDA, and REST.
Diffstat (limited to 'defun-1.lisp')
-rw-r--r--defun-1.lisp9
1 files changed, 9 insertions, 0 deletions
diff --git a/defun-1.lisp b/defun-1.lisp
index 6038e88..49680e6 100644
--- a/defun-1.lisp
+++ b/defun-1.lisp
@@ -18,3 +18,12 @@
(,env-sym (second ,arg-sym)))
(d-b ,lambda-list ,env-sym ,whole-sym ,lambda-sym
,@body)))))
+
+(%defmacro* lambda (lambda-list . body)
+ (let ((lambda-sym (gensym)))
+ `(%lambda ,lambda-sym
+ (d-b ,lambda-list nil nil ,lambda-sym
+ ,@body))))
+
+(defun funcall (function &rest arguments)
+ (apply function arguments))