lisp项目的结构

Structure of lisp projects

当我使用 Eclipse 或 Visual Studio 或 Xcode 时,项目的结构会自动创建并且可以立即开始。

现在我正在尝试在 Allegro CL 快速版上创建一个项目,如果我收集所有 lisp 文件并 运行 它,它会显示包错误,我认为这是因为文件没有在特定的环境中执行order as packages 必须在必须首先执行的某个文件中创建。

我无法理解如何解决这个问题。关于在 lisp 中创建大型项目以及如何逐步处理其大小和复杂性的信息很少或很少。

我想将 Maxima 移植到 Allegro CL 上。我能在这里得到一些帮助吗?如果有人能解释一下多个文件和包中的代码分解以及基本上如何加载整个系统。

我了解 lisp 的基础知识,但我不了解 lisp 项目的结构。

好消息:Maxima 已经有了 Allegro 端口。您应该能够使用 ./configure --with-acl 构建它,然后键入 make。我最近没用过这个,但我希望它能起作用。

如果您想了解更多有关内容加载方式的信息,请查看 src/maxima.system。它有点陈旧,因为它是为 defsystem 编写的,现在几乎已被 asdf.

取代

好吧,Maxima 可以通过 defsystem 或 asdf 由多种 Lisp 编译,包括 Allegro。有关详细信息,请参阅 INSTALL.lisp。

我所知道的唯一限制是 Allegro Express 版本无法编译 SLATEC 派生代码(从 Fortran 翻译的函数太大或类似的东西)。所以你必须在 maxima.system 或 maxima.asd 中注释掉 SLATEC 的内容。