我试图用asdf和quicklisp安装Lisplab,但结果都失败了。
我用sbcl和粘液。
任何人都可以帮我安装我只想在lisp中操作matrix:)
谢谢,李斯特!
最佳答案
使用quicklisp安装lisp库的第一件事是查看它是否可以通过quicklisp使用:
(请注意,对于这个答案,我在antergos上使用了roswell slime sbcl配置)
CL-USER> (ql:system-apropos "lisplab")
; No value
在这种情况下,不包括它的项目,您可以更新quicklisp,但在这种情况下,它是不必要的这个项目不在quicklisp中,将来可能也不会然后你可以选择继续安装它或者搜索一个关于这个的材料,看一看这是一个关于数学的搜索
让我们试着安装这个quicklisp如下:
我可以加载不属于Quicklisp的本地项目吗对。这个
最简单的方法是将项目的目录放在Quicklisp的
本地项目目录例如:
$ cd ~/quicklisp/local-projects/
$ git clone git://github.com/xach/format-time.git
然后可以通过(ql:quickload“format time”)加载项目
另外,任何可以通过ASDF的源注册表找到的系统文件
系统可以加载ql:quickload。
例如,如果在中有系统文件my-project.asd
/projects/my project/,您可以执行以下操作:
(push #p"/projects/my-project/" asdf:*central-registry*)
(ql:quickload "my-project")
如果我的项目依赖于通过Quicklisp可用的系统
尚未安装,将自动安装。
因此,对于这个项目,我将下载tarball并提取或下载本地项目文件夹中的存储库,就像在注释中建议的那样在我的例子中是./roswell/local projects,但在您的例子中应该是cd~/quicklisp/local projects/
在那之后你可以用quicklisp加载,但是我相信由于这个库没有被维护,它会有错误,
如果你想用lisp操作matrix,我建议你使用quickdocs确保已经在你的计算机上安装了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>
(请注意,外部数组不适用于整数)