解析 Common Lisp 列表中的符号
假设我有一个函数, CL-USER> (defun trimmer (seq) "This trims seq and returns a list" (cdr (butlast seq))) TRIMMER CL-USER> (trimmer '(1 …
从 REPL 获取代码
如果我使用 clisp 在 REPL 中输入代码,就像执行 sudo apt-get install clisp 时得到的程序一样,有没有办法获取所有您到目前为止输入的代码并将其保…
为什么 (list 'quote 'x) 计算结果为 'x 而不是 ('x) 或 (quote 'x)?
我正在尝试学习 LISP,并且正在查看一个代码示例,其中使用了类似于以下代码的内容: (list 'quote 5) 这在 REPL 中计算为 '5。我预计它的计算结果为 …
使用“list”或“append”实现 cons
有没有什么方法可以在 Common LISP 中使用 list、append、first、 来实现 cons >休息等? 下面的代码中 (defun my_list (&rest arguments) `(,@a…
Lisp函数调用错误
我写了一个像这样的 Lisp 函数: (defun power (base exponent) (if (= exponent 0) 1 (* base (power (- exponent 1))))) 然而,当我尝试调用它时,…
LISP 汽车的最后一个元素?
LISP 再次难倒了我...为什么我无法获取列表中最后一个元素的值?我有一个与此类似的列表设置: (setq bar '(((1 2) 3 4 5)((6 7) 8 9 10))) 现在我得…
基本 LISP 递归,枚举大于 3 的值
我需要一个递归 LISP 函数来枚举任意数字列表中的元素数量 > 3.我不允许使用let、loops或while,只能使用基本的CAR、CDR、SETQ、COND、CONS、APPEND…
为什么 LISP defun 的参数参数之前不需要引号?
以这个函数为例: (defun sum-greater (x y z) (> (+ x y) z)) 据我了解,在 LISP 中,列表中的第一个元素始终代表要在后续原子/列表上执行的函数。…
Lisp“关联列表”与“关联列表”之间的关系是什么?以及像 Java 的 Map 那样的键值映射?
我正在阅读《Land of Lisp》(顺便说一句,这是我读过的最好的技术书籍之一),并且我遇到了“关联列表”: (defparameter *edges* '((living-room (g…
对于 unix 脚本来说,最好的 lisp/scheme 是什么?
标题几乎说明了一切。我在我的主要项目中使用 clojure,但它不是一个好的脚本语言,因为 jvm 的启动速度很慢,并且与一些 unixy 的东西不能很好地交互…