我正在写一个简单的宏,将名称绑定到返回lambda表达式的表达式,但由于common lisp具有不同的函数和值的名称空间,所以我需要funcall
它无论我是否将它包装在一个defun
或defvar
。将lambda绑定到函数或var更正确的语义?
(defun foo() (lambda-returning-expr))
(defvar bar (lambda-returning-expr))
(funcall (foo)) ; evaluates correctly
(funcall bar) ; also evaluates
那么哪个更正确的方法?或者说,这是大多数人喜欢的由lispers?
你确定它不是'(funcall(foo))'那有效吗? – Sylwester 2015-04-03 15:12:05
你知道吗?我做了很多测试,结果都混在一起了,当然你是对的 – 2015-04-03 15:15:53