问题标签 [gnu-common-lisp]

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 投票
1 回答
723 浏览

debugging - 如何使用 gcl 在 Common Lisp 中进行跟踪?

有没有办法打印出你的函数的所有调用来调试递归程序?

0 投票
2 回答
313 浏览

lisp - 实现 forkpty() 的 GNU Common Lisp 包

我寻求一个实现的 GNU Common Lisp 包forkpty()openpty()也将是一个很大的优势,并且login_tty()将是我可以忍受的奢侈品。(Duckduckgo、Google 等都没有帮助。)有吗?在哪里?

0 投票
2 回答
217 浏览

lisp - GNU Common Lisp 的详细信息(类型)

如果在 REPL 我输入:

然后我得到回应:

很公平。因此,如果在 REPL 我输入:

然后我得到回应:

我有两个问题。

  1. 这里T告诉我什么?如果是这样NIL,那会告诉我什么?
  2. 我自己在哪里可以找到这个答案?我未能在(例如)Lisp HyperSpec 中找到答案。
0 投票
2 回答
620 浏览

lisp - GNU clisp:禁止有关不适用方法的警告消息

除了警告消息外,此代码可以按我的意愿工作。在 GNU Common Lisp 中,如何在不抑制其他可能警告消息的情况下抑制该消息?

编辑以回应Vatine的友好回复:

我试过了,情况从警告升级为致命错误:

0 投票
2 回答
276 浏览

lisp - 使用 gensym 和 macrolet 构建哈希表

我正在尝试在reading 时构建一个哈希表(以及其他操作)。我不希望哈希表具有全局范围(还),所以我使用宏和gensym. 在宏内部x,我定义了一个s类似于的宏setf,但在哈希表中定义了一个条目,而不是在某处定义符号。它爆炸了。我想我理解错误信息,但我该如何让它工作?

编码:

输出:

0 投票
1 回答
1195 浏览

common-lisp - 十进制浮点包

我了解使用二进制(或 binaryoid)浮点并以十进制表示结果时的复杂性:

但我希望避免最后一个可变数字的不合理性。在这种情况下,计算速度对我来说并不重要。

那里是否存在任何真正的十进制浮点 LISP 包?

编辑 1:理想情况下,这个包将允许任意精度,就像 bignum 对整数一样。

编辑 2,回应 Dennis Jaheruddin 的问题:

[I]如果您对最后一位不感兴趣,而只是希望数字相同,您可能只想观察前 15 位左右的数字?

我想到了那个。它行不通。例如,在 2/3 的情况下,我想要 666667 之类的东西。我看到的是:

如您所见,我什至无法使用最后一位来确定是否四舍五入;64 舍入到 60,而不是 70。但我可以丢弃最后一个数字并使用前一个数字来舍入其余的数字。不过,我对此感到不舒服,因为(a)此时我开始放弃很多精度,并且(b)我不确定这是否会导致舍入错误的方式. 十进制浮点包,最好具有任意精度,将是理想的。

编辑 3:正如 Rainer Joswig 在下面的回答中指出的那样,一个不可移植的潜在解决方案是设置浮点精度。对于那些在家跟随的人,他在这里指出,这样做是这样的:(SETF (EXT:LONG-FLOAT-DIGITS) n)

编辑 4:在他回答后的评论中,Rainer Joswig 建议研究代数系统 Maxima 和 Axiom。这样做会导致这些优秀的维基百科资源:

编辑5:我已经确定我不需要十进制浮点包,但我仍然很好奇是否有一个。可能没有。

为什么我不需要一个?答案是(a)Rainer Joswig 指向 wu-decimal 包的指针和(b)wvxvw 提到长除法的组合。

虽然 wu-decimal 没有常规特征和尾数使用以 10 为基数,但它确实引入了一个有趣的想法:将数字存储为比率。所以 1/3 存储为 1/3,而不是重复的(对于有限长度)二进制分数。尽管将存储为比率的数字相乘很快就会产生相当长的比率,但始终保持原始精度。我将使用这个想法。我不需要的是 wu-decimal 在适当的时候非常漂亮地解析和写入比率作为十进制数,所以我不会安装该软件包。如果您有兴趣简化这些值的解析和写入,请查看包。(我没用过。)

那么,剩下的就是将比率打印为十进制数。为此,我将使用长除法,就像 wvxvw 一样。我的代码有些不同,但是对于长除法的想法,我非常感谢他。

0 投票
1 回答
399 浏览

common-lisp - 有没有办法在 GCL 中使用 quicklisp?

安装/(load "/home/inaimathi/quicklisp/setup.lisp")都失败。2011 年的这个仍然开放的任务告诉我它可能没有得到修复。

有解决方法吗?

0 投票
1 回答
1043 浏览

lisp - Lisp:如何在 mac 中安装 gcl

我有 Mac OSX 10.8.4。我已经克隆了 gcl 的 git repo,并按照自述文件运行了 ./configure。

但是,我收到以下错误:

尝试了第三个选项(对于其他人我一无所知,即使在谷歌搜索后也没有得到任何解决方案)。谁能告诉我应该如何安装 gcl 或去获得一个开发环境 lisp ?

0 投票
1 回答
245 浏览

common-lisp - 从循环中的输出创建一个列表

我们的任务是以这种方式打印出帕斯卡三角形中的值

我在互联网某处复制了二项式定理的代码,定义如下:

现在我正在尝试从我的 pascal 函数中的值创建一个列表:

如果我用 (pascal 0 2) 测试该函数,它会产生 1 2 1 NIL。如何消除 NIL 并创建列表?

0 投票
2 回答
129 浏览

lisp - 确定超类型路径

给定一个内容为 1 的变量,我知道它是至少五种类型的成员:

这里有两个问题。

  1. 给定一个具有任意内容的变量,我如何确定它的超类型路径?

  2. 我在哪里可以在文档中找到答案?