问题标签 [clisp]

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 投票
6 回答
23672 浏览

build - Lisp 可执行文件

我刚刚开始学习 Lisp,但我不知道如何编译 Lisp 代码并将其链接到可执行文件。

我正在使用clispclisp -c生成两个文件:

  • .fas
  • .lib

接下来我该怎么做才能获得可执行文件?

0 投票
4 回答
516 浏览

lisp - 将 CL 和 Scheme 牢记在心

根据我的心情,我似乎在想要一个 Lisp-1 和一个 Lisp-2 之间来回徘徊。不幸的是,除了明显的名称空间差异之外,这会留下您遇到的各种有趣的函数名称/等问题。举个例子,今晚我试着写一些代码 (map #'function listvar),当然,这在 CL 中根本不起作用。花了我一点时间记住我想要地图车,而不是地图。当然,当 slime/emacs 显示 map IS 被定义为某些东西时,它并没有帮助,尽管显然根本不是相同的功能。

那么,关于如何尽量减少选择其中一个并坚持下去的指针?

0 投票
3 回答
2904 浏览

apache - Apache + mod_lisp + clisp

如何配置 apache + mod_lisp + clisp 并设置“Hello World!”?我找不到有关该主题的任何完整方法。谢谢。

编辑:Vebjorn 的解决方案有效,但我不知道如何编写“hello world!”。谁能告诉我如何进行?有类似 SWANKing clisp 的东西,然后用 SLIME 连接到它,但是当我启动 mod_lisp 的演示时,没有提供测试页面并且我的 slime 没有返回?

再次感谢。

0 投票
1 回答
1300 浏览

emacs - CLISP 程序员使用哪个 IDE?

我注意到 SLIME(Emacs 的 lisp 开发包)没有为 CLISP 提供 frame-source-location 功能,因此在调试器中您不能自动跳转到源位置。鉴于此,我认为 CLISP 用户必须使用其他一些 IDE(尽管我认为 IDE 在这里有点误导,也许他们只是使用不同的 Emacs 包)。

那么 CLISP 程序员使用的是什么 IDE/Emacs 包呢?

0 投票
2 回答
642 浏览

clisp - 如何改进 clisp 错误消息?

我一直在涉足 clisp。它没有打印出错误所在的行号,这有点令人困惑。或者,至少是错误所在的一般提示。在某些情况下,这一定是可能的,对吧?有什么办法可以得到更好的错误信息吗?

0 投票
3 回答
4666 浏览

java - 从 Java 调用的 Lisp 代码

很长的故事:

我正在为我的函数式编程课程做一个项目,我想在 Lisp 中为Mario AI 比赛编写一个 AI 控制器。

我正在研究从 Java 调用 Lisp 代码的框架/库/方法,甚至是更好的 Lisp-Java 互通。

我看过Jacol,但它很旧,对我来说编译不好。

到目前为止,我最好的选择是:Jatha。真的很简洁,虽然一些 lisp 结构还没有实现,但可以很容易地定义自己的结构。例如mapcarcond没有实现。我已经实现了自己的mapcar,在 Lisp 中命名为mapp,如下所示:

现在我有一个使用它的简单函数,例如,一个计算非线性列表中有多少原子的函数

这一切都在clisp中运行良好 现在从我使用Jatha 的 Java 调用 Lisp 代码。所要做的就是在 java 项目中导入 Jatha 库并加载一个像这样的 lisp 文件(例如):

虽然该代码在 clisp 和其他实现中运行良好,但该代码会产生 StackOverflow

run: APPLY: fn = +, args = ((1 1)) S: ((+ (QUOTE 1) (QUOTE 1))) Exception in thread "main" java.lang.StackOverflowError at java.lang.Long.toString(Long.java:242) at java.lang.Long.toString(Long.java:100) at java.lang.String.valueOf(String.java:2946) at org.jatha.dynatype.StandardLispInteger.toString(StandardLispInteger.java:113) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:152) at org.jatha.dynatype.StandardLispCons.toStringAsCdr_internal(StandardLispCons.java:174) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:153) at org.jatha.dynatype.StandardLispCons.toStringAsCdr_internal(StandardLispCons.java:174) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:153) at org.jatha.dynatype.StandardLispCons.toStringAsCdr_internal(StandardLispCons.java:174) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:153) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:152) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:152) at org.jatha.dynatype.StandardLispCons.toStringAsCdr_internal(StandardLispCons.java:174) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:153) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:152) at org.jatha.dynatype.StandardLispCons.toStringAsCdr_internal(StandardLispCons.java:174) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:153) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:152) at org.jatha.dynatype.StandardLispCons.toStringAsCdr_internal(StandardLispCons.java:174) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:153) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:152) at org.jatha.dynatype.StandardLispCons.toStringAsCdr_internal(StandardLispCons.java:174) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:153) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:152) at org.jatha.dynatype.StandardLispCons.toStringAsCdr_internal(StandardLispCons.java:174) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:153) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:152) at org.jatha.dynatype.StandardLispCons.toStringAsCdr_internal(StandardLispCons.java:174) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:153) at org.jatha.dynatype.StandardLispCons.toString(StandardLispCons.java:152) at org.jatha.dynatype.StandardLispCons.toStringAsCdr_internal(StandardLispCons.java:17

所以我的问题是,它为什么要这样做?我的代码错了吗?
它是 Jatha 中的错误吗?自己看吧,设置时间不长。
你做过类似的事情吗?
你知道其他更好的方法吗?我想要的只是从 Java 中调用一些 Lisp 代码,让它执行,然后取回由 Lisp 代码计算的结果。
谢谢。

[编辑] 修正代码,粘贴错误。

0 投票
4 回答
14807 浏览

lisp - Common Lisp中的整数除法?

当我这样做时(/ 7 2),我应该怎么做才能得到结果3?如果我这样做(/ 7 2.0),我会得到3.5,这是预期的。

0 投票
1 回答
1569 浏览

lisp - Lisp 简单问题

我有一些不理解来自 gnu clisp 的操作假设,我有一些类似 (let ((x "Hi!"))(print x)). 如果我从控制台执行它(例如,clisp fileName.lisp),我会看到

你好!

但是,当我从解释器执行它时,我看到这个文本两次。为什么?

请帮帮我。

0 投票
1 回答
448 浏览

binary-tree - 帮助二叉树的 Lisp 代码

我有

它给了我:

但是我需要:

好消息,我找到了一些答案:

答案是:

接下来是第二个答案:

答案是:

所以剩下的就是找到:

(1 2 C 1) (1 2 CB) (1 A 1 2)

0 投票
1 回答
2039 浏览

polynomial-math - 帮助在 lisp 中乘以多项式

例如: (3x 2 - 5x + 2)(7x + 1) 并像这样简化它:

你得到这个答案:21x 3 + 32x 2 + 9x + 2

我在 lisp 中需要这个解决方案,请帮忙