问题标签 [sbcl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
812 浏览

lisp - .sbclrc 中的运算符 #+ 和 #-

有谁知道#+#-运营商是什么意思.sbclrc?我在手册中找不到。我#-.sbclrc安装 quicklisp 后看到:

我也在#+SBCL 用户手册中看到,但我找不到它们的功能解释。看起来与加载单个模块有关。

它们仅用于 SBCL 实现还是 Common lisp 的一部分?

0 投票
1 回答
149 浏览

lisp - 奇怪的路径名?

我正在使用 sbcl-1.0.54。

任何建议表示赞赏!

0 投票
3 回答
2594 浏览

stream - 在 Common Lisp 中读取外部程序的二进制输出

我正在尝试在 SBCL 中运行一个外部程序并捕获它的输出。输出是二进制数据(png 图像),而 SBCL 坚持将其解释为字符串。

我尝试了很多方法,比如

但我得到了像这样的错误

在我看来,SBCL 正试图将二进制数据解释为文本并对其进行解码。我该如何改变这种行为?我只对获得八位字节向量感兴趣。

编辑:由于从上面的文本中不清楚,我想补充一点,至少在 flexi-stream 的情况下,流的元素类型是 a flexi-streams:octect(它是 a (unsigned-byte 8))。我希望至少在这种情况下run-program读取原始字节没有很多问题。相反,我收到一条消息Don't know how to copy to stream of element-type (UNSIGNED-BYTE 8)

0 投票
2 回答
1548 浏览

lisp - 如何替换 Common Lisp 中正在运行的函数?

假设我们使用 SBCL 的#'save-lisp-and-die 创建一个服务器应用程序 App1,它运行良好。现在我们想在不停止 App1 的情况下用新版本替换函数 #'func1。我们如何在 Common Lisp 中做到这一点?

任何建议表示赞赏!

0 投票
3 回答
2696 浏览

common-lisp - 为什么 Common Lisp (SBCL) 会为一个简单的程序使用这么多内存?

因为我是 Common Lisp 的新手,所以我尝试使用 Common Lisp ( SBCL )来解决SPOJ上的问题。第一个问题是阅读数字直到找到数字 42 的简单任务。这是我的解决方案:

解决方案被接受。但是当我查看结果的细节时,我发现它使用了 57M 的 MEM!这太不合理了,但我不知道为什么。我可以做些什么来进行优化?

0 投票
2 回答
9270 浏览

lisp - 如何在类 Unix 操作系统下方便地运行 SBCL 代码?

(大卫詹姆斯都写了问题和答案。我将对其进行编辑以符合 Stackoverflow 标准。)

使用 SBCL,您可以将 Lisp 代码编译为机器代码。

像 Java、.net、C++ 甚至 C 一样,您将需要运行时。所以有两种方法可以编译 Common Lisp 代码。

首先是制作巨大的二进制文件,SBCL 文档中对此进行了解释。目标机器上不需要 SBCL。

另一种方式是更灵活的方式,即以 fasl(FASt Load)格式创建机器码。目标机器上需要 SBCL 运行时。

第二种方式在类 Unix 操作系统下如何工作?

0 投票
3 回答
898 浏览

emacs - Swank服务器启动失败

问题截图

Emacs SLIME 无法连接到 swank,因为显然 swank 无法正确初始化。它说一些后端功能没有实现。但是,我的沼泽后端是支持的 SBCL。我正在使用 windows xp 操作系统。在以下链接中发现了类似的问题,但没有解决方案。链接到类似问题

我是否缺少 Swank 的任何配置文件?或者我使用的 emacs 和 SBCL 版本可能存在兼容性问题?在这种情况下,我在哪里可以获得正确的 Windows 兼容性矩阵?

0 投票
2 回答
3483 浏览

shell - 当 CL 程序作为 shell 脚本调用时如何使用 quicklisp?

我目前在 Common Lisp 中有一个小程序,我想将其作为 shell 脚本运行。我正在使用 SBCL 并且对此非常好,所以我更愿意留在这个平台上。:)

我知道这个--script选项,它除了(ql:quickload)形式外完美无缺。

我的程序使用CL-FAD,它通过加载ql:quickload(我想我应该提到它是来自quicklisp的包加载功能)。当脚本运行到评估

表单,它会因下一个错误而中断:

程序打包在单个源文件中,该文件具有以下标头:

它是简单的自动化可执行文件,所以我决定(可能是错误地)不编写任何 ASDF 系统。它导出应该在没有任何参数的情况下运行的单个函数。

对于这个程序,我目前正在尝试编写启动器脚本,这就是我所关注的:

这三行(不包括shebang)是我想要自动化的。正如我在文档中所读到的,带有这个 shebang 的脚本可以被称为 simple ./script.lisp,它确实可以做到这一点......之前描述的错误。

我需要在启动器中添加什么:cl-fad才能正确加载?文档说明使用--script选项 SBCL 不会加载任何初始化文件,所以我真的需要复制粘贴这些行

ql:add-to-init-file添加到 .sbclrc)到我的启动器脚本?也许我的程序设置中有一些深刻的架构缺陷?

是的,当我输入我尝试在 sbcl 本身的 REPL 中自动化的行时,程序按预期运行。

0 投票
2 回答
1147 浏览

memory-leaks - SBCL 的 REPL 中的内存泄漏

我对 REPL 中 SBCL 垃圾收集器的以下行为感到有些困惑。定义两个函数:

然后运行

我希望不再引用原始数组。然而,正如(房间)报告的那样,内存没有被释放。我会理解,如果我直接运行 (test-gc),那么某些引用可能会卡在 SLIME 或

但是这里是这样吗?谢谢,安德烈。

更新前段时间我提交了一个错误。最近得到了证实。见: https ://bugs.launchpad.net/sbcl/+bug/936304

0 投票
2 回答
4238 浏览

common-lisp - 如何使用 slime 设置 SBCL 的当前目录?

过去,我使用以下脚本启动 SBCL:

现在在 emacs 中使用 slime 时,我不知道如何设置 SBCL 的当前目录?

任何建议表示赞赏!