在Common Lisp中定义函数Scheme-style,无需defun

时间:2017-06-01 22:35:11

标签: scheme common-lisp ansi-common-lisp

在Scheme中,您可以定义类似

的函数
(define f (lambda (x) ...))

特别是,你可以做这样的事情

(define f (g))

其中g是返回函数的函数。是否可以在Common Lisp中执行相同的操作,即将函数符号与给定的匿名函数相关联?

1 个答案:

答案 0 :(得分:1)

没关系,我刚刚在Paul Graham的书中找到了答案 ANSI Common Lisp (在第二次看之后;第99页):

(setf (symbol-function 'f) (lambda (x) (* x x)))

实现(对于大多数意图和目的)与

相同
(defun f (x) (* x x))