From: David Vazquez Date: Wed, 16 Jan 2013 02:01:10 +0000 (+0000) Subject: Unify 'lambda funcall' and 'symbol funcall' via function special form X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=c277546f4ba4aaeee4bc3b25facef9e42582011b;p=jscl.git Unify 'lambda funcall' and 'symbol funcall' via function special form --- diff --git a/ecmalisp.lisp b/ecmalisp.lisp index cd831bf..57f793b 100644 --- a/ecmalisp.lisp +++ b/ecmalisp.lisp @@ -1420,19 +1420,10 @@ form))) (defun compile-funcall (function args env) - (cond - ((symbolp function) - (concat (ls-compile `(quote ,function)) ".function(" - (join (mapcar (lambda (x) (ls-compile x env)) args) - ", ") - ")")) - ((and (listp function) (eq (car function) 'lambda)) - (concat "(" (ls-compile function env) ")(" - (join (mapcar (lambda (x) (ls-compile x env)) args) - ", ") - ")")) - (t - (error (concat "Invalid function designator " (symbol-name function)))))) + (concat (ls-compile `#',function) "(" + (join (mapcar (lambda (x) (ls-compile x env)) args) + ", ") + ")")) (defun ls-compile (sexp &optional (env (make-lexenv))) (cond