问题标签 [asdf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2386 浏览

linux - 如何在 Ubuntu Hardy 下的 clisp 中使用(需要:PACKAGE)?

我正在尝试评估此处提供的答案,但出现错误:"A file with name ASDF-INSTALL does not exist"使用 clisp 时:

cmucl 抛出类似的错误:

但是 sbcl 完美地工作:

有想法该怎么解决这个吗?我在互联网上找到了这篇文章,但使用它也不起作用。

0 投票
7 回答
779 浏览

lisp - 为 Common Lisp 项目自动创建 ASDF 文件

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

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

0 投票
5 回答
464 浏览

deployment - ASDF 或其他独立于家庭和站点配置的模块系统

我正在尝试找出实际应用程序开发的最佳实践。我无法理解如何正确配置第三方库以部署为独立包。似乎 ASDF-INSTALL 和 ASDF 旨在将库安装到家庭或站点,从而改变开发平台的状态。如果我正在开发一个服务器端应用程序并且我想为盒子上的整个 CL 安装管理这些依赖关系,那很好。

但是,如果我想创建一个独立的应用程序,通过安装脚本进行部署,并在它自己的 CL 实例中单独运行呢?我希望避免更改任何其他应用程序的 CL 实例或目标系统配置(即覆盖其他应用程序所依赖的库的其他副本)。在 Java 中,我所要做的就是创建一个包含这些库的包含目录并设置我的 CLASSPATH。假设我没有安装自己的 CL 运行时,而是使用系统上的东西,我如何在 CL 中获得相同级别的隔离?

我突然想到这是所有动态编译/解释语言的常见问题,因为运行时的生命周期将比运行时运行的任何特定应用程序(即 Ruby 或 Python)长,并且应用程序将共享相同的库加载状态. 我对这种语言没有任何经验,所以最好的做法可能是盯着我的脸。

IDK 如果这将是特定于实现的,但我正在运行 Clozure CL。

编辑:

拉马伦:

我去看看泥球。谢谢你。

安装库与我想要的相反,因为安装意味着修改主机系统状态。我认为关键必须在你的最后一段。您如何创建启动脚本以将中央注册表设置为隔离目录?是否可以使用 ASDF-INSTALL 将内容提取到所述目录中?如果您的 CL 实现的基本映像不包含 ASDF(Clozure 默认具有 ASDF,但 CLISP 将如何做),您如何引导整个事情?

我也在考虑开发团队。在我创建一个新的 CL 项目存根并对 CVS 或 SVN 进行初始提交后,其他开发人员如何将其签出到他们的本地环境并使用它?即使假设每个人的个人资料/网站启动中都有 ASDF,其他开发人员也可能在他们的central-registry中有一组不同的库。我们不应该仅仅为了一起工作而同步。必须有一种干净的方式来从 Emacs/SLIME 启动项目特定的 CL 运行时实例,并准确地加载项目中指定的内容,不多也不少。

如果在线上有任何最佳实践资源,使用 CL 或任何其他语言,我将很高兴推出自己的解决方案并将其开源。

路易斯:

SAVE-APPLICATION 适用于部署,但不适用于我概述的多开发项目存根。

编辑2:

面包车:

版本依赖性正是这个问题的原因。如果我正在开发 Perl 或 Ruby Web 应用程序,那么我可以依靠 Web 管理员的存在来管理这些依赖项。为 Lisp 是外来技术的零售或中小型企业开发应用程序(我无法说服他们“提高”他们的 IT 组织来管理它),这种方法是不可接受的。

昨晚我能够通过创建一个项目级 .lisp 文件来获得我想要的东西,该文件加载它自己的项目特定的 ASDF 实例,设置一个项目本地中央注册表,并手动下载依赖库(没有 ASDF-INSTALL ,这对于 CLSQL 和 Weblocks 来说是痛苦的级联依赖)。从开发工具的角度来看,它仍然不理想,因为我不得不从我的家和网站上删除所有对 SLIME 和 Clozure 本身的自定义。此外,共享依赖项也没有解决(CLSQL 和 Weblocks 都使用 MD5)。

Java 具有类加载器隔离,这就是它解决版本依赖问题的方式。然后是如何将所需的库放入项目中的单独问题(a la Maven)。前者是核心语言问题;后者与工具有关。我将编写一个 SLIME 扩展,它执行 ASDF-INSTALL 对项目包含目录(a la Maven)所做的工作,并修改 lib 源代码以拦截 defpackage 调用,以某种方式预先添加一个 gensym 字符串以强制隔离。我知道,这种方法有很多漏洞,而且我对封装规范的了解还不够,不知道我能把它埋到多深。

我对 Python 一无所知,但我知道存在零售级应用程序;我一直在使用 MusicBrainz Picard。我将研究 Python 是如何做到的。

0 投票
3 回答
404 浏览

lisp - 从命令行安装 asdf 库

来自 Perl 背景,我不得不说我更喜欢cpan Foo::Bar必须启动 sbcl,(require :asdf-install)最后是(asdf-install:install :foo-bar). 周围还有比这更方便的吗?

0 投票
1 回答
1679 浏览

lisp - ECL 如何在可执行文件中包含 ASDF 依赖项?

我有这个 ecl-make.lisp:

stumpwm-system::*components*是我对 的补充stumpwm.asd,用于在该文件中生成 ASDF 组件以及上面正确排序的文件列表。)

它只是失败了:

我已经到了只解决以前尝试引入的错误的地步。如果您使用 ECL 构建了一个包含依赖项的程序,请告诉我您是如何做到的。我看到了如何在启动时stumpwm启动和加载依赖项(即使没有加载 my ~/.eclrc,它会告诉 ASDF 在哪里找到这些依赖项)。但这应该是可能的。

0 投票
2 回答
285 浏览

lisp - SBCL 和 LangUtils

有没有人让 langutils 与 sbcl 一起工作?

0 投票
1 回答
1080 浏览

lisp - ecl 如何在可执行文件中包含 asdf 依赖项?(取2)

0 投票
2 回答
1549 浏览

lisp - ltk 的问题(常见的 lisp)

我使用 asdf-install 将 ltk 安装到 Steel Bank Common Lisp,但我什至无法开始使用它 V_V。下面的代码是文档中最简单的示例,几乎是逐字复制的。



这是我从 sbcl 收到的错误消息:


0 投票
2 回答
286 浏览

macos - 尝试在 Mac OS X 上通过 ASDF 加载 trivial-shell

我正在尝试在 Mac OS X 上加载trivial-shell 。

当我执行以下命令时:

我收到以下错误:

谁能告诉我我在这里做错了什么?

0 投票
1 回答
383 浏览

zip - 错误:未找到组件“zip”

我正在尝试安装 zip 库。

眼镜:

快板 CL 8.2

ASDF(可能包含在 Allegro 中)

Mac OS X 10.6.4

MacBook Pro 5,1

奇怪的是,ASDF 似乎没有在线搜索 zip。它只是放弃。