在Common Lisp中为setf函数定义别名

时间:2017-06-20 01:04:48

标签: common-lisp

根据this question,可以像这样创建函数的别名:

(defun some-function () ...)
(setf (fdefinition 'sfunc) #'some-function)

可是:

(defun some-function () ...)
(defun (setf some-function) () ...)
(setf (fdefinition 'sfunc) #'some-function)

> (setf (sfunc) ...)
; caught STYLE-WARNING:
;   undefined function: (SETF SFUNC)

不为setf函数创建别名。如何为setf函数创建别名?

1 个答案:

答案 0 :(得分:5)

(setf (fdefinition '(setf sfunc)) (fdefinition '(setf some-function)))