如何将代表JSON数据的字符串转换为通用LISP中卷曲符号上的字符串?
我正在使用钢库普通LISP(SBCL),EMACS和史莱姆。 After executing a function, I have: CL-USER> (my-function my-data) "{\"key-1\": \"value-1\"}…
LISP宏如何扩展LISP编程语言的语法和语义?
我正在阅读的一本书[1]说: 编程语言中最有趣的发展之一 是创建可扩展语言的语言 - 语法和语言 语义可以在程序中更改。最早的 语言扩展最常见的方案是…
有没有一种方法可以调整常见的lisp点宏,以免从零开始,而是从其他数字(例如1)开始?
我正在使用Emacs,Slime和SBCL。 dotimes 的默认使用是: CL-USER> (defun my-dotimes (n) (dotimes (i n) (format t "~s ~%" i))) 生成: CL-USER> (…
如果原子收到列表作为参数,对原子和零的原子差异是否有任何差异?
我正在使用SBCL,Emacs和Slime。根据符号计算的书籍:通用LISP 的温和介绍, atom 的定义是: 原子谓词返回t,如果其输入是弊端的其他任何内容 单元格…
ASDF抛出了最新状态
我正在脚本文件中使用 asdf load cl-ppcre 。该问题是(Prom(requient:asdf)(require:cl-ppcre))在最高级别上完全可以,但是如果用 handler-ca…
如何评估宏内兰伯达内部的形式?
我在以下宏方面有问题: (defmacro gather-params (&rest body) "Return plist of params" `(concatenate 'list (map 'list #'(lambda (plist) (if (t…
如何将目录中的所有文件列为ASDF Defsystem静态文件
来自如何指定其他文件作为导致ASDF重新编译程序的先决条件,我了解到ASDF static-File 指令可用于列出常见LISP程序所依赖的非LISP文件。例如: (defsy…
在通用的LISP(SBCL)中,您如何解析文件?
我有一个文件: test.lisp 带有此内容: (+ 3 3) (let ((n 3)) (+ n 1)) (let ((n 4)) (+ n 1)) (defun d (f) (let ((n 3) (f 4) (g 3)) (if (= n 0) …
在使用临时结果时将列表项目添加在一起
我有以下列表: ((a b) (c d) (e f)) 要循环浏览并将列表元素组合在一起。我也有一个循环,它的工作原理与我想要的完全一样: (loop for (x . tail) o…
为什么常见的lisp's“设定差异”不起作用?
因此,我试图在Common LISP(SBCL)中使用设置 - 划分,并且它在结构列表上并不能用。 例如, * varr ;; => (#S(VAR :V S) #:$K520) * pm ;; => (#S(V…
LISP解释器与LISP图像之间的区别和关系是什么?它们可以用作同步吗?
我注意到有些人使用这些术语,就好像它们是同步一样。 例如,在同一情况下,我听到“将此功能添加到评估它的LISP映像”和“将此功能评估到LISP解释器…
如何将其他文件指定为导致ASDF重新编译程序的先决条件
我编写了一个程序,该程序使用读取时间评估来读取文本文件中包含的字符串。在此示例中,文本文件为 1.TXT 和 2.txt ,两者都包含在读取期间将读取的文…
从常见的LISP数据结构中编写JSON字符串
我正在尝试创建一个常见的LISP数据结构,以输出一些嵌套的JSON,因此 { "array_of_objects": { "item1": { "foo": { "value": "x" } }, "item2": { "b…
无法在Jupyter Labs上运行常见的LISP代码
我刚刚安装了 common lisp kernel 在jupyter上,但我甚至无法运行最简单的功能。 例如,当我运行时: (+ 2 3) 我会收到以下错误输出: SIMPLE-PROGR…