4

有没有图书馆可以做到这一点?玩转 Common Lisp 似乎这将是降低新手入门门槛的最有用的东西之一。ASDF 似乎主要是为部署而设计的,而不是为快速原型设计和开发而设计的。关注 comp.lang.lisp 上的线程,似乎人们同意 CL 的包系统功能强大,但缺乏 Python 死的简单模块系统之类的易用性。从某种意义上说,它是为功率而不是可用性而设计的,这是失败的。

很高兴知道我是否错了。如果我是对的,我很惊讶没有人尝试在 ASDF 之上构建类似 Python 模块的系统。

4

7 回答 7

6

Zach Beane 写了他现在如何使用 Quicklisp 和 Quickproject 开始新的 Common Lisp 项目。这可能是你想要的。

于 2013-07-11T19:23:29.883 回答
3

不确定它是否已经准备好迎接黄金时段,或者它是否完全符合您的要求,但这里有一个XCVB的链接。

于 2008-11-07T01:00:07.870 回答
2

我不知道。我主要使用 ASDF 来满足我的开发中编译需求。一旦您注意到您会从多个源文件中受益,请打开 <projectname>.asd,添加一个基本的 ASDF 系统定义模板并开始添加文件名。当您注意到跨文件依赖项时,请更新依赖项列表。

但是,然后,我使用完全相同的方法来处理 Makefile(是的,我知道有自动依赖检查器可以为你做这件事,但是由于我主要是自己编写代码,所以将 Makefile/ASDF 定义修改为更容易我去)。

在 SBCL 中,REQUIRE 上有一个检查 ASDF 系统的钩子,因此您最终会得到与 Python 的导入一样方便的东西,但不知何故,我怀疑这不是您的意思。

于 2008-11-07T09:58:52.947 回答
1

这可能不是您想要的答案,但显然您对模块系统中的需求有所了解。您是否考虑过自己创建一个?也就是说,利用您有限的领域、有限的要求、您的环境,并简单地敲出任何可以迅速让您的生活更轻松的抽象?

这是 Lisp 的主要优点之一,我相信你知道,这些简单的抽象和小工具通常很容易在 Lisp 中制作。

我并不是建议解决所有对包系统或 ASDF 有问题的人,我只是建议按照您的理解解决您自己的问题,这可能比一些更强大的更大范围更简单、更小。

于 2008-11-07T00:47:26.787 回答
1

现在也有泥球

如果您正在寻找一款软件来添加此功能,那么这是一个不错的选择。

于 2009-02-17T09:27:52.820 回答
0

如果您想要一个只使用 bash 生成新的通用 lisp 项目目录和文件布局的命令行工具,您可能会发现我为自己创建的一个很有用:lispproject。如果它不符合您的需求,请继续分叉它或从它获取模板的 repo 以满足您的需求:lisp-project-template。查看 lispproject repo 中的 sh 文件,了解模板的使用方式。另外,请注意,当我在 macOS 上使用它时,您可能需要调整对 sed 的调用以适应您的平台。替代 sed 调用在主脚本中,但如果您需要它们,只需将它们注释掉。

于 2019-01-25T00:02:54.923 回答
-4

它是为电源而不是可用性而设计的

这就是大多数 Lisp 大师喜欢它的方式。

于 2008-11-06T22:19:41.813 回答