我开始学习lisp,并正在寻找一种有效的方式来管理我的个人图书馆。如何将多个lisp-fasl文件链接到单个文件中?
所以我认为将我的库编译成单个fasl文件(包含包信息和实际实现)将是有用的,我可以在之后加载(load "lib.fasl")
以包含库。问题是,库包含多个* .lisp -files,可以说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的解决方案,但我也会采取其他措施。
在此先感谢!
在ASDF中,我发现了一个很好的工具来管理库,但我认为这个问题仍然很有趣,因为链接到fasls似乎并不是一项艰巨的任务,而且似乎还没有一种明显的方式来实现它。 – jobach