我如何 link 将多个 lisp-fasl 文件合并到一个文件中?
How do I link multiple lisp-fasl files into a single file?
我开始学习 lisp 并正在寻找一种有效的方式来管理我的个人图书馆。
所以我认为将我的库编译成单个 fasl 文件(包含包信息和实际实现)会很有用,之后我可以加载 (load "lib.fasl")
以包含该库。问题是,该库由多个 *.lisp 文件组成,可以说 foo.lisp 和 bar.lisp。
我分别使用 (compile-file "foo.lisp")
和 (compile-file "bar.lisp")
分别编译它们。
显然,必须 LOAD
库的每个文件(即 foo.fasl 和 bar.fasl) 手动当我想使用它们时,所以我正在寻找类似
的东西
(link "foo.fasl" "bar.fasl" :output "lib.fasl")
或
(compile-file "foo.lisp" "bar.lisp" :output "lib.fasl")
生成单个 lib.fasl,然后我可以 LOAD
。
我不想使用核心文件,因为我希望能够灵活地组合我的库(这需要为每个可能的库组合创建一个单独的核心文件)。
我在 SBCL 用户手册中搜索了执行此操作的 lisp 函数,并在 SBCL 联机帮助页中搜索了使用 CLI 的功能,但我什么也没找到。
我更喜欢使用 SBCL 的解决方案,但我也会选择其他任何解决方案。
提前致谢!
我开始学习 lisp 并正在寻找一种有效的方式来管理我的个人图书馆。
所以我认为将我的库编译成单个 fasl 文件(包含包信息和实际实现)会很有用,之后我可以加载 (load "lib.fasl")
以包含该库。问题是,该库由多个 *.lisp 文件组成,可以说 foo.lisp 和 bar.lisp。
我分别使用 (compile-file "foo.lisp")
和 (compile-file "bar.lisp")
分别编译它们。
显然,必须 LOAD
库的每个文件(即 foo.fasl 和 bar.fasl) 手动当我想使用它们时,所以我正在寻找类似
(link "foo.fasl" "bar.fasl" :output "lib.fasl")
或
(compile-file "foo.lisp" "bar.lisp" :output "lib.fasl")
生成单个 lib.fasl,然后我可以 LOAD
。
我不想使用核心文件,因为我希望能够灵活地组合我的库(这需要为每个可能的库组合创建一个单独的核心文件)。
我在 SBCL 用户手册中搜索了执行此操作的 lisp 函数,并在 SBCL 联机帮助页中搜索了使用 CLI 的功能,但我什么也没找到。
我更喜欢使用 SBCL 的解决方案,但我也会选择其他任何解决方案。
提前致谢!