我尝试使用 asdf 和 quicklisp 安装Lisplab,但结果都失败了。
我使用 sbcl 和粘液。
任何人都可以帮助我安装。我只想在 lisp 中操作矩阵:)
谢谢,利斯珀!
使用 quicklisp 安装 lisp 库的第一件事是查看它是否可以通过 quicklisp 获得:
(注意这个答案我在antergos上使用配置roswell slime sbcl)
CL-USER> (ql:system-apropos "lisplab")
; No value
在这种情况下,它不包含在项目中,您可以更新您的 quicklisp,但在这种情况下没有必要。这个项目不在 quicklisp 中,也许将来也不会。然后您可以选择继续安装它或为此搜索 aertnative 看看quickdocs这是关于数学的搜索
让我们尝试安装这个 quicklisp 说:
我可以加载不属于 Quicklisp 的本地项目吗?是的。最简单的方法是将项目的目录放在 Quicklisp 的 local-projects 目录中。例如:
$ cd ~/quicklisp/local-projects/ $ git clone git://github.com/xach/format-time.git
然后可以通过 (ql:quickload "format-time") 加载该项目
此外,可以通过 ASDF 的源注册表系统找到的任何系统文件都可以使用 ql:quickload 加载。
例如,如果您在 /projects/my-project/ 中有一个系统文件 my-project.asd,则可以执行以下操作:
(push #p"/projects/my-project/" asdf:*central-registry*) (ql:quickload "my-project")
如果 my-project 依赖于尚未安装的通过 Quicklisp 可用的系统,它们将被自动安装。
所以对于这个项目,我将下载 tarball 并解压缩或下载本地项目文件夹中的存储库,就像评论中建议的那样。在我的情况下是 ./roswell/local-projects 但在你的情况下应该是 cd ~/quicklisp/local-projects/
之后你“可以”用 quicklisp 加载,但我相信由于这个库没有维护,它会有错误,
如果您想使用 lisp 操作矩阵,我建议您使用lisp-matrix确保已在您的计算机中安装 lapack 并仔细阅读文档,特别是自述文件末尾的代码以及测试。
CL-USER> (ql:quickload :lisp-matrix)
To load "lisp-matrix":
Load 1 ASDF system:
lisp-matrix
; Loading "lisp-matrix"
(:LISP-MATRIX)
CL-USER> (in-package :lisp-matrix-user)
#<PACKAGE "LISP-MATRIX-USER">
LISP-MATRIX-USER> (M* (ones 2 2 :implementation :lisp-array)
(ones 2 2 :implementation :lisp-array))
#<LA-SIMPLE-MATRIX-DOUBLE 2 x 2
2.0d0 2.0d0
2.0d0 2.0d0>
(请注意,foreign-array 不适用于整数)