问题标签 [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 投票
1 回答
329 浏览

lisp - 如何在 Windows 中安装 gtk-cffi?

gtk-cffi是 GTK+3 的 Lisp 绑定。我正在尝试在 Windows 上安装它。

起初我尝试了 Quicklisp,但它没有(有 gtk-cffi-utils,但它根本没有帮助)。我想从头开始安装它,但我不知道该怎么做......

有没有人可以给我一些建议?

0 投票
1 回答
883 浏览

compilation - ECL - 为每个编译单元及其依赖项转储 c 源代码?

我有以下包定义。如何递归编译所有组件,以及它们对 C 源代码的依赖关系?换句话说,我想保留所有用于构建本机可执行文件的 C 文件。

目前,我使用(asdf:make-build :example但不会留下任何 C 文件。

我期待看到

示例.asd:

cl-opengl.asd:

0 投票
2 回答
2527 浏览

linux - 在 Common Lisp 中使用外部库或包的示例

在 Common Lisp 中,quicklisp 是一种流行的库管理工具。我将使用该工具,并尝试使用 CL-WHO。我使用 SBCL 1.0.57 实现。我将在下面回答我自己的问题。

作为初学者,尚不清楚 ASDF 和 quicklisp 是如何实际协同工作的。因此,不清楚如何在外部源文件中实际使用您通过 quicklisp 下载的包或库。quicklisp 常见问题解答,至少目前没有帮助。在 python 中,这非常简单:您只需输入“import somemodule”,生活就很棒。是否有 CL+quicklisp 的等价物?

如果你搜索,你会发现很多结果。以下是我发现的一些最相关的:

Lisp 导入/加载文件

如何使用 quicklisp 安装的包?

当我最初阅读这些内容时,至少想到了一个问题:如果我使用的是 quicklisp,我真的需要关心 ASDF 吗?Quicklisp 似乎是一个更高级别的管理工具。其他人建议使用 quickproject。但这真的有必要吗?

0 投票
2 回答
83 浏览

lisp - 有没有办法确定正在执行的文件所在的目录?

如果是这样,asdf 是否可以导入在运行时计算的符号。

我正在尝试指定项目所在的目录,以便测试运行程序可以找到输入文件,以及当我从 repl 运行时。

0 投票
2 回答
592 浏览

package - 为什么 asdf:load-system 不创建包

我正在尝试使用 asdf 的功能从 repl 运行我的测试套件,但是当使用 quicklisps 快速加载时,如果第一次尝试加载 foo 失败,第二次加载成功。

这是有道理的,因为当我编译 asd 文件时,错误似乎是 asdf:perfom defmethod 的第二种形式。用 foo 替换 nclack 的错误是:

../../nclack/nclack.asd:36:27:读取错误:在编译文件期间读取错误:

与 (foo-tests:run-tests) 行匹配。因此,“加载”系统似乎与编译其形式不同?或者为什么加载系统后没有定义包?有任何想法吗?我不知所措。

0 投票
4 回答
1579 浏览

dependencies - 如何管理常见的 lisp 依赖项?

pip 需求文件、ruby gemfile、node package.json 等的 lisp 等价物是什么?如果这些是正确使用的东西,我不完全确定 asdf 和 quicklisp 之间的关系。

0 投票
1 回答
453 浏览

lisp - 执行 asdf:load-system 时系统名称是否必须与文件名相同?

我正在学习 ASDF,但在加载定义的系统时遇到了奇怪的问题。这里有一些信息。我用单行内容定义了一个名为“hello.asd”的.asd 文件:

我将此文件放入名为“ /tmp/pkg ”的目录中。之后,我运行 SBCL 并尝试加载它。这是输出:

请注意,我第一次尝试加载 system :hellosystem时失败了。所以我加载系统:你好,我猜测它可能需要一个文件名,它又失败了。当我偶尔再次运行 load system :hellosystem时发生了奇怪的事情,它起作用了。

所以我做了另一个测试,改变文件名让它和系统名一样。然后运行 ​​asdf:load-system,它直接工作了。

这让我很困惑,我在 ASDF 手册中找不到任何线索表明这两个名称应该相同?

有人可以给我一些见解吗?

谢谢,

0 投票
1 回答
1975 浏览

common-lisp - 如何构建 Common Lisp 项目?

我是 CL 新手,我不知道如何从我的简单项目中构建二进制文件。

我创建了app.asd包含以下内容的文件:

package.lisp内容

main.lisp

我也符号链接app.asd~/quicklisp/quicklisp/app.asd, 当我执行

它看起来像是在编译,但我在任何地方都找不到二进制文件/目标文件。

如何构建我的项目,以便可以将其复制到另一台没有安装和运行 CL 的机器上?

我在 osx 上使用 sbcl 1.1.13 和 asdf 3.0.2。

0 投票
5 回答
1068 浏览

lisp - 如何定义和使用 Common Lisp 包(库)?

我在几个 Lisp 源文件中开发了一些 Common Lisp 函数,我希望这些函数可以很容易地用于我编写的其他函数,或者如果我认为它们对其他人有用,可以在 github 上使用它们。现在,我只是将它们放在一些预定义的文件夹中并使用(require "/path/to/my/modules/module.lisp").

我想了解定义 Lisp 模块库的正确(规范 Lisp)方法是什么。问题的第二部分是如何使用它们(我是否定义了它们,或者我是否从其他人那里获得了它们)。

我已经阅读了很多关于defpackageanddefsystem和的文章asdf。但我读过的所有内容似乎都集中在这项任务的某个特定领域。我在查看自定义模块创建、部署和使用的大局时遇到了很多麻烦。因此,假设我面前有 Lisp 环境(CLISP 或 SBCL)和一个或多个.lisp我想从中制作包或库的文件,是否有文档解释了执行此操作所需的步骤?这可能是我已经阅读过的内容,但由于不了解上下文而没有跟踪。我所读到的关于 ASDF 的内容在功能上似乎是我所追求的,但我不明白 ASDF 是否是我唯一的选择,或者它是否恰好是事实上的标准和大多数其他人使用的,或其他什么。我在 SBCL 中使用过它,但不确定我是否正确使用它,也没有看到有关如何在 CLISP 中设置它的信息。所以我想了解这个任务的中上层、普通方法是什么。

我知道这是一大堆草率的子问题。同样,如果有一些好的参考资料可供参考,我可以阅读。我只是无法全面了解它应该如何工作,以及是否有任何“最佳”方法,或者在 Lisp 中,它是否有点像“狂野西部”选择库-经理-你喜欢的方法。我做了谷歌的事情并阅读了任何看起来相关的东西,但我的大脑正在旋转。

谢谢。

0 投票
2 回答
831 浏览

common-lisp - Common Lisp:asdf 依赖于特定版本

我想知道如何依赖 ASDF 系统中特定版本的库?

上述系统依赖 hunchentoot 和 cl-who。据我了解,将使用两个库的最新版本。我如何指定使用 cl-who 1.0.5 (eg) 代替?

提前致谢。