我正在寫一個簡單的宏,將名稱綁定到返回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