问题标签 [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.
build - Lisp 可执行文件
我刚刚开始学习 Lisp,但我不知道如何编译 Lisp 代码并将其链接到可执行文件。
我正在使用clisp
并clisp -c
生成两个文件:
- .fas
- .lib
接下来我该怎么做才能获得可执行文件?
lisp - 将 CL 和 Scheme 牢记在心
根据我的心情,我似乎在想要一个 Lisp-1 和一个 Lisp-2 之间来回徘徊。不幸的是,除了明显的名称空间差异之外,这会留下您遇到的各种有趣的函数名称/等问题。举个例子,今晚我试着写一些代码 (map #'function listvar),当然,这在 CL 中根本不起作用。花了我一点时间记住我想要地图车,而不是地图。当然,当 slime/emacs 显示 map IS 被定义为某些东西时,它并没有帮助,尽管显然根本不是相同的功能。
那么,关于如何尽量减少选择其中一个并坚持下去的指针?
apache - Apache + mod_lisp + clisp
如何配置 apache + mod_lisp + clisp 并设置“Hello World!”?我找不到有关该主题的任何完整方法。谢谢。
编辑:Vebjorn 的解决方案有效,但我不知道如何编写“hello world!”。谁能告诉我如何进行?有类似 SWANKing clisp 的东西,然后用 SLIME 连接到它,但是当我启动 mod_lisp 的演示时,没有提供测试页面并且我的 slime 没有返回?
再次感谢。
emacs - CLISP 程序员使用哪个 IDE?
我注意到 SLIME(Emacs 的 lisp 开发包)没有为 CLISP 提供 frame-source-location 功能,因此在调试器中您不能自动跳转到源位置。鉴于此,我认为 CLISP 用户必须使用其他一些 IDE(尽管我认为 IDE 在这里有点误导,也许他们只是使用不同的 Emacs 包)。
那么 CLISP 程序员使用的是什么 IDE/Emacs 包呢?
clisp - 如何改进 clisp 错误消息?
我一直在涉足 clisp。它没有打印出错误所在的行号,这有点令人困惑。或者,至少是错误所在的一般提示。在某些情况下,这一定是可能的,对吧?有什么办法可以得到更好的错误信息吗?
java - 从 Java 调用的 Lisp 代码
很长的故事:
我正在为我的函数式编程课程做一个项目,我想在 Lisp 中为Mario AI 比赛编写一个 AI 控制器。
我正在研究从 Java 调用 Lisp 代码的框架/库/方法,甚至是更好的 Lisp-Java 互通。
我看过Jacol,但它很旧,对我来说编译不好。
到目前为止,我最好的选择是:Jatha。真的很简洁,虽然一些 lisp 结构还没有实现,但可以很容易地定义自己的结构。例如mapcar和cond没有实现。我已经实现了自己的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 代码计算的结果。
谢谢。
[编辑] 修正代码,粘贴错误。
lisp - Common Lisp中的整数除法?
当我这样做时(/ 7 2)
,我应该怎么做才能得到结果3
?如果我这样做(/ 7 2.0),我会得到3.5
,这是预期的。
lisp - Lisp 简单问题
我有一些不理解来自 gnu clisp 的操作假设,我有一些类似 (let ((x "Hi!"))(print x))
. 如果我从控制台执行它(例如,clisp fileName.lisp),我会看到
你好!
但是,当我从解释器执行它时,我看到这个文本两次。为什么?
请帮帮我。
binary-tree - 帮助二叉树的 Lisp 代码
我有
它给了我:
但是我需要:
好消息,我找到了一些答案:
答案是:
接下来是第二个答案:
答案是:
所以剩下的就是找到:
(1 2 C 1) (1 2 CB) (1 A 1 2)
polynomial-math - 帮助在 lisp 中乘以多项式
例如: (3x 2 - 5x + 2)(7x + 1) 并像这样简化它:
你得到这个答案:21x 3 + 32x 2 + 9x + 2
我在 lisp 中需要这个解决方案,请帮忙