问题标签 [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 - CL-FAD - defsystem 中的冗余?
我开始查看 Edi Weitz 的CL-FAD以了解一些好的编码实践。看的时候有一件事引起了我的注意cl-fad.asd
。在defsystem
Weitz 的使用:serial t
中,如果我根据文档正确理解,指示ASDF按:components
出现顺序包含。:depends-on
在我看来,这在这种情况下应该是多余的。Weitz 是否有理由将其包括在内:depends-on
,还是只是一个疏忽?
这是defsystem
部分(最新的 Github 克隆):
asdf - asdf:如何指定加载整个文件夹而不是每个单独的文件
我有一个这样的 asdf 系统定义:
我不想单独指定文件夹测试中的每个文件,而是指定文件夹测试中的所有文件。类似 tests/* 或 (:directory "tests")
可以这样做吗?
common-lisp - 抑制 asdf:load-system 控制台输出
我使用 Steel Bank Common Lisp 创建了一个小项目,我正在使用 ASDF 编译和加载它。加载命令为:
一切正常(程序编译并运行良好)但我不断得到输出
每次重新编译程序时。
我想这个输出来自asdf
因为我正在调用应用程序
其中runner_sbcl.lisp
通过asdf:load-system
. 所以我想这个输出不是来自sbcl
.
有什么方法可以禁用控制台输出asdf:load-system
吗?我只想收到有关编译错误/警告的通知。我在文档中找不到任何信息。
common-lisp - asdf building and Common Lisp
I am having trouble using the asdf
build tools with common lisp. Here is my fractals.asd
file:
Both the ffiles fract-tree.lisp
and fractal-lab.lisp
have the statement (in-package :fractals)
at the very beginning of the file. However, I am automatically getting an error saying The name "CL-OPENGL" does not designate any package.
I don't understand why this is wrong. Furthermore, if I don't include these libraries, then I have to manually require them myself... I created a directory called: ~/.config/common-lisp/source-registry.conf.d/
where I placed a file called fractals2.conf
which contains the following:
This is the directory of my fractals.asd
file as shown above. Apparently, this is supposed to tell asdf
where my user-defined systems are located. I followed this tutorial.
- In summary, how can I get
asdf
to find my user-defined systems so that I do not have to manually load them?
Thanks for all the help!
common-lisp - 如何让 defsystem 使用“一切”?
我正在研究 SBCL 中的项目欧拉问题,并为每个解决方案保留一个短文件。每个问题都有一些基于凌晨 5 点的测试,这些测试来自“主要”测试套件。这些测试在“tests.lisp”运行时运行。由于我厌倦了手动维护文件列表,我编写了一些代码来为我做这件事:
简而言之,defsystem euler
使用所有 e????.lisp 文件作为组件,而 tests.lisp 依赖于所有这些文件。
这是一个好主意吗?是否有“官方”方式来defsystem
使用目录中的所有文件或与给定文件名模式匹配的所有文件?
我觉得我在这里遗漏了一些基本的东西,尤其是在阅读了github 上一些关于“更具声明性的 defsystem”的 ELS 幻灯片之后,我上面所做的事情可能会被不赞成。
在摆弄了 Fare 的建议之后,我现在拥有的是:
感谢您的反馈。
lisp - ASDF 输出重定向
我想设置 ASDF 存储编译文件的目录。我更喜欢从 shell 脚本中执行此操作。根据这个页面,应该定义环境变量ASDF_OUTPUT_TRANSLATIONS
。
好的,这里是:
但是当我尝试测试配置时,它不起作用:
输出:
再见。嗯,这是可能的输出之一。我试图将很多值分配给ASDF_OUTPUT_TRANSLATIONS
. 偶数和奇数。小而大。没有成功。如果有这样的配置示例,这将更容易,但我找不到。
另一个问题是,当 ASDF 将所有内容放入一个目录时,我不知道将要编译的系统是否不会覆盖彼此同名的文件。我真正想要的是从 shell 脚本临时设置输出目录,因此无论源文件在哪里,每个文件都将位于可预测的位置。
compilation - 使用 ASDF 将编译结果作为单个文件获取
是否可以告诉 ASDF 它应该fas(l)
为整个系统只生成一个文件?该文件应该是系统所有编译文件的串联(按正确顺序),包括目标系统所依赖的系统的所有文件。
lisp - 无法使用系统中定义的 lisp 包
我试图使用 lisp 代码制作可执行文件。但是我根本无法编译hellowolrd
lisp文件,因为在加载helloworld
系统 之前没有包
当然,我制作了helloworld
系统并将其放入~/quicklisp/local-projects/
. helloworld
系统加载成功,没有错误。
我想编译test.lisp
而不显式加载。我也尝试过use-package
,defpackage
但失败了。
如何使用系统helloworld
中定义的包helloworld
而不加载它?我是否必须使用系统制作新helloworld
系统?
linux - 在 Linux 上安装 lispbuilder-SDL 时出现问题。- “不知道如何要求 ASDF-INSTALL”
我正在尝试使用此处给出的说明在 Linux 上安装 lispbuilder-SDL。我已经到了必须使用 ASDF 安装 CFFI 的部分,但是当我尝试键入时出现以下错误(需要'asdf-install):
不知道如何要求安装 ASDF。[SB-INT:EXTENSION-FAILURE 类型的条件]
你建议我下一步做什么?我尝试查找它,但没有发现任何帮助,而且我对这一切都是新手。谢谢!
lisp - 使用 asdf3 在 slime 中编译 defsystem 时出现无效的相对路径名错误
我的 SBCL 使用 ASDF3。当我尝试编译 defsystem 表达式时,出现如下错误:
组件的相对路径名 #P"package.lisp" 无效
("cl-豆瓣" "包")
有谁知道为什么?这是图片: