首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将maxima导入sbcl

如何将maxima导入sbcl
EN

Stack Overflow用户
提问于 2012-02-27 19:03:43
回答 3查看 2.3K关注 0票数 4

我们知道,Maxima是基于通用lisp的。我正在编写一个使用Maxima的lisp程序;使用Maxima过程。我按参数"maxima -p foo.lisp“加载lisp文件,它工作得很好。然而,我不擅长编程,所以我的程序有很多bug。我想调试我的程序,但我意识到这并不容易。

我习惯了slimv,这是一个vim脚本,用来扩展对vim的lisp支持。Slimv是一个很棒的工具,它包含了连接slimv和lisp解释器的swank,但是当我在Maxima的Lisp模式下加载'start-swank.lisp‘时,它返回了一个错误:

代码语言:javascript
复制
>> Error in CONDITIONS::CLCS-LOAD [or a callee]: The variable *LOAD-TRUENAME* is unbound.

我意识到这要归功于gcl。所以我来搜索maxima-sbcl。然而,没有maxima-sbcl的官方包。我很失望。

我想知道是否可以将整个maxima加载到sbcl中。如果是这样,我就可以在swank的REPL中读取它,并成功地调试我的程序。

或者有谁有更好的想法?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-01 19:26:12

我偶然发现了这个项目,它可能就是你要找的

https://github.com/filonenko-mikhail/embeddable-maxima

这是提到用法细微差别的developer's blog (俄语

票数 4
EN

Stack Overflow用户

发布于 2012-02-28 02:34:38

浏览Maxima文档,源代码似乎可以由SBCL编译:

关于Maxima的Lisp实现的说明:

2 3 Clisp、CMUCL、Scieneer Common Lisp (SCL)、GCL (仅支持ANSI)4和SBCL可以编译和执行Maxima

你可能会通过这种方式获得一些吸引力:

代码语言:javascript
复制
[1] Load up your SBCL (and default core file).
[2] Load Maxima into that lisp session
[3] Save the core file
[4] Kill the swank server
[5] Replace the old core file with the new core file
[6] Restart the swank server

或者,检查Maxima站点上的'ports‘页面。我在那里找到了一个用于OS X的SBCL fink端口Maxima。

票数 3
EN

Stack Overflow用户

发布于 2012-06-01 02:28:05

关于仅用Lisp重建Maxima,请参阅Maxima源代码中的INSTALL.lisp。http://maxima.git.sourceforge.net/git/gitweb.cgi?p=maxima/maxima;a=tree

INSTALL.lisp所描述的方法利用了defsystem。您也可以使用ASDF。假设您已经解压了源代码,您应该能够这样做

代码语言:javascript
复制
(require 'asdf)
(asdf:operate 'asdf:load-op :maxima)

然后转储Lisp镜像或立即启动Maxima,

代码语言:javascript
复制
(cl-user::run)

注意:我可能省略了一些关于ASDF方法的细节。

抱歉,回复晚了。把这个留在这里以防有人通过搜索找到它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9463899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档