为什么 Common Lisp 不区分大小写?
定义像 (defun hi () "Hi!") 这样的函数并能够使用 (hi) 或 (HI ) 或 (Hi),或 (setf a-number 5) 并能够使用 a-number、A-NUMBER 或A 号码? 如果有…
关于 Common Lisp 中的 eval 函数
有人可以解释为什么函数 eval 的行为是这样的吗? (eval (list 'cons t nil)) returns (T) (eval (list 'cons 'a nil)) causes an error (eval (list …
Lisp:如何覆盖 CLOS 类的默认字符串表示形式?
在 Common Lisp 中,如何覆盖 CLOS 类的默认字符串表示形式,以便对 format 或 princ 的调用将打印出可理解的内容,即使嵌入了该类的对象也是如此在其…
CLISP 的嵌套列表和 lambda 表达式存在一些问题
Common Lisp 中的嵌套列表确实让我很困惑。问题如下: 通过使用递归,让 (nested-list 'b '(a (bc) d)) 返回 t 如果第一个参数出现在第二个参数中(可…
这段 Common Lisp 代码发生了什么?
我编写了以下代码来模拟多次滚动六面骰子并计算每一面落地的次数: (defun dice (num) (let ((myList '(0 0 0 0 0 0))) (progn (format t "~a" myList…
在 Lisp 中一次定义 n 个函数
假设我想做以下事情: (loop for i from 1 to n do (defun ith(lst) (nth i lst))) 显然我真正想做的是: (defun 1th(lst)(nth 1 lst)) (defun 2th(ls…
哪里可以学习如何实际使用 Common Lisp
Closed. This question is seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. It does not …
是“透明”的宏可以吗?
我想编写一个 Clojure with-test-tags 宏来包装一堆表单,并向每个 deftest 表单的名称添加一些元数据 - 具体来说,添加一些东西到 :tags 键,这样我…
如何在一个宏调用中分配多个常量
我想在一个宏调用中分配多个常量。但下面的代码只分配了最后一个常量,之前定义的常量不可用。 ; notes.lisp (defconstant N_oct0 0) (defmacro N_def…
Common Lisp 宏语法关键字:我该怎么称呼它?
为了自己回答这个问题,我浏览了On Lisp、Practical Common Lisp和SO档案,但这些尝试因我无法命名这个概念而受挫我很感兴趣。如果有人能告诉我这类事…
是否可以在现有类中动态添加一个超类
在 Common-Lisp CLOS 中, 是否可以动态添加一个超类 在现有的班级中。 更新: 我想定义 defassoc 类型的宏来关联某些行为 使用相同参数的方法/函数,…