问题标签 [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.
lisp - 如何在 Windows 中安装 gtk-cffi?
gtk-cffi是 GTK+3 的 Lisp 绑定。我正在尝试在 Windows 上安装它。
起初我尝试了 Quicklisp,但它没有(有 gtk-cffi-utils,但它根本没有帮助)。我想从头开始安装它,但我不知道该怎么做......
有没有人可以给我一些建议?
compilation - ECL - 为每个编译单元及其依赖项转储 c 源代码?
我有以下包定义。如何递归编译所有组件,以及它们对 C 源代码的依赖关系?换句话说,我想保留所有用于构建本机可执行文件的 C 文件。
目前,我使用(asdf:make-build :example
但不会留下任何 C 文件。
我期待看到
示例.asd:
cl-opengl.asd:
linux - 在 Common Lisp 中使用外部库或包的示例
在 Common Lisp 中,quicklisp 是一种流行的库管理工具。我将使用该工具,并尝试使用 CL-WHO。我使用 SBCL 1.0.57 实现。我将在下面回答我自己的问题。
作为初学者,尚不清楚 ASDF 和 quicklisp 是如何实际协同工作的。因此,不清楚如何在外部源文件中实际使用您通过 quicklisp 下载的包或库。quicklisp 常见问题解答,至少目前没有帮助。在 python 中,这非常简单:您只需输入“import somemodule”,生活就很棒。是否有 CL+quicklisp 的等价物?
如果你搜索,你会发现很多结果。以下是我发现的一些最相关的:
当我最初阅读这些内容时,至少想到了一个问题:如果我使用的是 quicklisp,我真的需要关心 ASDF 吗?Quicklisp 似乎是一个更高级别的管理工具。其他人建议使用 quickproject。但这真的有必要吗?
lisp - 有没有办法确定正在执行的文件所在的目录?
如果是这样,asdf 是否可以导入在运行时计算的符号。
我正在尝试指定项目所在的目录,以便测试运行程序可以找到输入文件,以及当我从 repl 运行时。
package - 为什么 asdf:load-system 不创建包
我正在尝试使用 asdf 的功能从 repl 运行我的测试套件,但是当使用 quicklisps 快速加载时,如果第一次尝试加载 foo 失败,第二次加载成功。
这是有道理的,因为当我编译 asd 文件时,错误似乎是 asdf:perfom defmethod 的第二种形式。用 foo 替换 nclack 的错误是:
../../nclack/nclack.asd:36:27:读取错误:在编译文件期间读取错误:
与 (foo-tests:run-tests) 行匹配。因此,“加载”系统似乎与编译其形式不同?或者为什么加载系统后没有定义包?有任何想法吗?我不知所措。
dependencies - 如何管理常见的 lisp 依赖项?
pip 需求文件、ruby gemfile、node package.json 等的 lisp 等价物是什么?如果这些是正确使用的东西,我不完全确定 asdf 和 quicklisp 之间的关系。
lisp - 执行 asdf:load-system 时系统名称是否必须与文件名相同?
我正在学习 ASDF,但在加载定义的系统时遇到了奇怪的问题。这里有一些信息。我用单行内容定义了一个名为“hello.asd”的.asd 文件:
我将此文件放入名为“ /tmp/pkg ”的目录中。之后,我运行 SBCL 并尝试加载它。这是输出:
请注意,我第一次尝试加载 system :hellosystem时失败了。所以我加载系统:你好,我猜测它可能需要一个文件名,它又失败了。当我偶尔再次运行 load system :hellosystem时发生了奇怪的事情,它起作用了。
所以我做了另一个测试,改变文件名让它和系统名一样。然后运行 asdf:load-system,它直接工作了。
这让我很困惑,我在 ASDF 手册中找不到任何线索表明这两个名称应该相同?
有人可以给我一些见解吗?
谢谢,
吴
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。
lisp - 如何定义和使用 Common Lisp 包(库)?
我在几个 Lisp 源文件中开发了一些 Common Lisp 函数,我希望这些函数可以很容易地用于我编写的其他函数,或者如果我认为它们对其他人有用,可以在 github 上使用它们。现在,我只是将它们放在一些预定义的文件夹中并使用(require "/path/to/my/modules/module.lisp")
.
我想了解定义 Lisp 模块库的正确(规范 Lisp)方法是什么。问题的第二部分是如何使用它们(我是否定义了它们,或者我是否从其他人那里获得了它们)。
我已经阅读了很多关于defpackage
anddefsystem
和的文章asdf
。但我读过的所有内容似乎都集中在这项任务的某个特定领域。我在查看自定义模块创建、部署和使用的大局时遇到了很多麻烦。因此,假设我面前有 Lisp 环境(CLISP 或 SBCL)和一个或多个.lisp
我想从中制作包或库的文件,是否有文档解释了执行此操作所需的步骤?这可能是我已经阅读过的内容,但由于不了解上下文而没有跟踪。我所读到的关于 ASDF 的内容在功能上似乎是我所追求的,但我不明白 ASDF 是否是我唯一的选择,或者它是否恰好是事实上的标准和大多数其他人使用的,或其他什么。我在 SBCL 中使用过它,但不确定我是否正确使用它,也没有看到有关如何在 CLISP 中设置它的信息。所以我想了解这个任务的中上层、普通方法是什么。
我知道这是一大堆草率的子问题。同样,如果有一些好的参考资料可供参考,我可以阅读。我只是无法全面了解它应该如何工作,以及是否有任何“最佳”方法,或者在 Lisp 中,它是否有点像“狂野西部”选择库-经理-你喜欢的方法。我做了谷歌的事情并阅读了任何看起来相关的东西,但我的大脑正在旋转。
谢谢。
common-lisp - Common Lisp:asdf 依赖于特定版本
我想知道如何依赖 ASDF 系统中特定版本的库?
上述系统依赖 hunchentoot 和 cl-who。据我了解,将使用两个库的最新版本。我如何指定使用 cl-who 1.0.5 (eg) 代替?
提前致谢。