简单 Lisp Case 语句问题 - 与 nil 比较的问题
我正在尝试使用 case 语句来使某些代码更具可读性。它似乎作为一系列 if 语句工作,但由于某种原因,case 语句总是接受与 nil 的比较,即使它不正确。…
CLIsp REPL 错误输出:如何查找发生错误的文件中的行号?
我正在研究 Land of Lisp,使用 CLisp,使用 Slimv 在 Vim 中编写代码,然后使用 alt-tab 键切换到另一个终端窗口,并使用 (load 'file.lisp) 将文件…
如何在 emacs lisp 中将参数传递给 map?
我想编写一个小函数来向列表添加值。它看起来像这样: (defvar fares '(31.14 28.12 25.10 22.08 19.06 16.04 13.02 10)) (defun plus-extra (fare) (…
有 CUDA 的 Lisp 扩展吗?
我刚刚注意到,WD Hillis 连接机的首批语言之一是 *Lisp,它是具有并行结构的 Common Lisp 的扩展。连接机是一台具有 SIMD 架构的大规模并行计算机,…
如何在 Lisp 函数中使用键盘宏直到失败
现在我已经定义并命名了一个键盘宏,我想创建一个 lisp 函数,该函数转到缓冲区的顶部,并且执行以下操作: i = 1 do{ run macro if macro hit the en…
在 Common Lisp 中,如何以可移植的方式检查对象的类型
我想定义一个专门处理具有无符号字节 8 元素的数组类型对象的方法。在 sbcl 中,当您 (make-array x :element-type '(unsigned-byte 8)) 时,对象类由…
关于特定方案/球拍的快速语法问题。显示不带引号的字符串?
我正在方案中编写一个程序,最终输出到指定的文件并输出字符串和列表。我正在使用 (display ) 命令,但是当我显示字符串时,它会显示带有引号的内容。…
优雅的方式来计算项目
我有一个如下所示的列表: '(("Alpha" . 1538) ("Beta" . 8036) ("Gamma" . 8990) ("Beta" . 10052) ("Alpha" . 12837) ("Beta" . 13634) ("Beta" . 1…
更改列表的第 n 个元素
我想更改列表的第 n 个元素并返回一个新列表。 我想到了三个相当不优雅的解决方案: (defun set-nth1 (list n value) (let ((list2 (copy-seq list)))…
如何使用子列表对列表进行排序(Common Lisp)
如何对包含子列表的列表进行排序? (setq list '((0) (1) (2) (0 1 5) (0 1 3) (0 1 5) (0 3 0) (0) (1) (2 7 19) (0 0 3 0))) restricting the sort…
Clojure 与其他 Lisp 对比
我的问题的目的不是要引发一场口水战,而是要确定每种语言在什么情况下是“完成这项工作的最佳工具”。 我读过几本关于 Clojure 的书(Programming Cl…
Clojure 宏扩展
我正在研究一个宏,我试图找出如何避免某些形式的扩展,以下面的宏为例, (defmacro and ([] true) ([x] x) ([x & next] `(let [and# ~x] (if and#…