我将如何重新定义内置函数,同时以不同的名称保持对旧函数的引用?
即与SBCL
(unlock-package 'common-lisp)
(defun old+ (a b) ??????
(defun + (a b) (old+ a b))
Run Code Online (Sandbox Code Playgroud)
我正在将代码移植到没有float数据类型的LISP实现.所以我想重新定义数学运算以使用固定整数数学.
我想我可以通过搜索和替换来解决这个问题:)
我是lisp的初学者并且有一个问题.当我直接在REPL中编写一些代码(没有任何.lisp文件!)时,如何保存解释器的工作/状态以便下次恢复并继续工作?
(我正在使用ECL)
感谢名单!抱歉我的英语不好;)
对于大量使用的命令,我想在常见的lisp(确切地说是clisp)中设置别名,例如"defun"和"lambda"等,是否可以这样做?
这实际上是这个问题的重复,但我无法评论,并且该解决方案不适用于sbcl和clisp中的defun或lambda
根据这个问题,可以像这样创建函数的别名:
(defun some-function () ...)
(setf (fdefinition 'sfunc) #'some-function)
Run Code Online (Sandbox Code Playgroud)
但:
(defun some-function () ...)
(defun (setf some-function) () ...)
(setf (fdefinition 'sfunc) #'some-function)
> (setf (sfunc) ...)
; caught STYLE-WARNING:
; undefined function: (SETF SFUNC)
Run Code Online (Sandbox Code Playgroud)
不为setf函数创建别名.如何为setf函数创建别名?