标签: quicklisp

有没有办法在Mac OS上使用动态FFI支持编译CLISP?

我在Mac OS X 10.6.4上使用clisp 2.48(2009-07-28).我用'sudo port install clisp'下载了clisp.

安装快速lisp后,我安装了一些软件包,其中大多数都没问题.

但是,当我尝试安装"sqlite"时,我收到以下错误.

[1]> (ql:quickload "sqlite")
To load "sqlite":
  Load 1 ASDF system:
    sqlite
; Loading "sqlite"
[package cffi-sys]
*** - CFFI requires CLISP compiled with dynamic FFI support.

它说我的安装了mac port的clisp没有FFI支持.

有没有办法在Mac OS X上使用动态FFI支持编译CLISP?

clisp common-lisp macports quicklisp

7
推荐指数
1
解决办法
1231
查看次数

使用asdf:defsystem和quickproject定义包的正确方法

我是一个Lisp初学者试图理解如何正确使用Lisp包系统,同时学习LTK用于GUI编程,使用SBCL 1.0.55.0.debian和Limp 0.3.4(如果重要的话,还有Debian Wheezy).我使用aptitude包管理器安装了ASDF(包cl-asdf&cl-common-lisp-controller),然后我使用Quicklisp网站上的说明安装了Quicklisp(http://www.quicklisp.org/beta/index.html) (不是来自Debian存储库)然后我(ql:quickload 'ltk)在SBCL控制台中安装了LTK .

hello-1.lisp(直接来自LTK教程):

(defun hello-1()
    (with-ltk ()
              (let ((b (make-instance ’button
                                      :master nil
                                      :text "Press Me"
                                      :command (lambda ()
                                                       (format t "Hello World!~&")))))
                   (pack b))))
Run Code Online (Sandbox Code Playgroud)

如果我在一个新的SBCL Lisp的图像编译这个直上,我得到的消息WITH-LTKPACK未定义功能,'BUTTON是不确定的变量.

所以,我发现我需要加载'ltk,然后再使用in-package.我能够运行它,我首先要使用(ql:quickload 'ltk)(in-package :ltk)在SBCL控制台.但是,我仍然是一个'BUTTON未定义变量的错误消息.

* (ql:quickload 'ltk)
To load "ltk":
  Load 1 ASDF system:
    ltk
; Loading "ltk"

(LTK)
* (in-package :ltk)

#<PACKAGE "LTK">
* (compile-file "/home/user/code/lisp/hello-1.lisp")

; caught …
Run Code Online (Sandbox Code Playgroud)

lisp sbcl common-lisp asdf quicklisp

7
推荐指数
1
解决办法
3473
查看次数

在程序中加载quicklisp

在程序开始时加载quicklisp的正确方法是什么?我目前正在复制/粘贴快速插入我的.eclrc的块中,例如

;;; quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
                                       (user-homedir-pathname))))
  (when (probe-file quicklisp-init)
    (load quicklisp-init)))

(ql:quickload "iterate")
Run Code Online (Sandbox Code Playgroud)

但似乎必须采用一种不那么混乱的方式来做事.

common-lisp quicklisp

7
推荐指数
1
解决办法
302
查看次数

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

什么是pip需求文件,ruby gemfile,node package.json等的lisp等价物?我不完全确定asdf和quicklisp是如何关联的,如果这些是适当的使用方法.

lisp dependencies common-lisp asdf quicklisp

6
推荐指数
1
解决办法
1231
查看次数

在Windows 7上使用clisp发布quicklisp

我在Windows 7上安装了quicklisp/slime/clisp.当我开始粘贴时M-x slime,我收到了此错误消息.

在此输入图像描述

我可以输入'continue'来启动clisp/slime,但只要我开始粘贴,就会弹出这条消息.这有什么问题?我怎样才能解决这个问题?

lisp clisp common-lisp slime quicklisp

5
推荐指数
1
解决办法
220
查看次数

如何让quicklisp在粘液中加载rfc2388?

我试图加载hunchentoot通过quicklisp煤泥,并得到以下错误:

READ error during COMPILE-FILE:

  :ASCII stream decoding error on
  #<SB-SYS:FD-STREAM
    for "file [redacted]/dists/quicklisp/software/rfc2388-20120107-http/rfc2388.asd"
    {100607B723}>:

    the octet sequence #(196) cannot be decoded.

  (in form starting at line: 29, column: 29,
  file-position: 1615)
[Condition of type ASDF:LOAD-SYSTEM-DEFINITION-ERROR]
Run Code Online (Sandbox Code Playgroud)

我试图运行时得到这个:

(ql:quickload "hunchentoot")
Run Code Online (Sandbox Code Playgroud)

或者干脆:

(ql:quickload "rfc2388")
Run Code Online (Sandbox Code Playgroud)

似乎其他人也得到了 这个.我找到了一个可能答案的暗示,说:

The system file is encoded as UTF-8. 
I'm not sure how to configure things so that SBCL on Windows starts with 
UTF-8 as its default encoding …
Run Code Online (Sandbox Code Playgroud)

sbcl common-lisp slime utf-8 quicklisp

5
推荐指数
1
解决办法
913
查看次数

使用 Quicklisp 安装后使用 iterate

当我使用 Quicklisp ( (ql:quickload "iterate"))加载“迭代”包时,它似乎加载良好,但没有一个功能真正起作用。当我输入时(iterate:iter (for i from 0 to 10) (collect i)),我收到一条错误消息,说“我的变量未绑定”,还有几个样式警告说 COLLECT 和 FOR 是未定义的函数,而 FROM 是未定义的变量。如果我尝试使用 ITER 或 ITERATE 而不是 ITERATE:ITER,也会发生同样的事情。我正在使用 SBCL。

common-lisp quicklisp

5
推荐指数
1
解决办法
915
查看次数

如何在 Quicklisp 中获取包文档

每次使用 Quicklisp 时,我都觉得我在玩彩票。我找不到包含包列表和文档的网页。

正如我搜索一个具体的例子(ql:system-apropos "random-access-list"),因为I F ound SRFI-101的一种实现,它是基于Okasakis纯功能性的数据结构,在CL。我试过这个:

[1]> (ql:system-apropos-list "random-access-lists")
(#<QL-DIST:SYSTEM random-access-lists / random-access-lists-20120208-git / quicklisp 2016-03-18>)
[2]> 
Run Code Online (Sandbox Code Playgroud)

我知道该名称random-access-lists不是很具体,因此可能还有其他具有该名称的包。上次我不太幸运,找到了 4 个部分匹配,其中最匹配的不是我要找的包。

如何找到有关搜索结果的更多信息?

common-lisp quicklisp

5
推荐指数
1
解决办法
305
查看次数

如何转储使用 osicat 的可执行 SBCL 映像

我有一个简单的 common lisp 服务器程序,它使用 osicat 库与 posix 文件系统交互。我需要这样做,因为系统创建到文件的符号链接,并使用 POSIX stat 元数据,而这些事情在可移植 Lisp 中都不是很容易做到的。

我正在使用 Quicklisp 管理依赖项,并且我将所有这些都固定到一个工作发行版上。该应用程序可在 CCL 和 SBCL 之间移植,我倾向于在第一个中构建它并使用后者进行部署。我使用 asdf 声明应用程序的依赖项defsystem,并且可以使用 Quicklisp 加载它,以便从本地项目轻松进行开发。

对于部署,我只是使用一些 ansible 剧本,在远程复制开发人员环境(例如设置 Quicklisp、将代码推送到本地项目、运行用户主目录),这很 hacky,但基本上没问题。最近,随着它变得更加稳定sb-ext:save-lisp-and-die,我一直在使用简单的编译脚本来编译它。这意味着我得到了一个可执行文件,我可以像服务器一样运行它,并使用服务管理脚本和匿名用户帐户。

这一直工作得很好,所以我最近将这一步移到了下一个级别,并且我正在使用我的编译脚本构建 .deb 包,因此我可以将所有内容捆绑到可重定位的二进制文件中。这也有点工作,但生成的二进制文件不能从原始构建主机重新定位。他们拒绝启动,并且似乎尝试为 osicat 动态加载共享库

Unhandled SIMPLE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
Mar 15 12:47:14 annie [479]:                                     {10005C05B3}>:
Mar 15 12:47:14 annie [479]:   Error opening shared object "libosicat.so":
Mar 15 12:47:14 annie [479]:   libosicat.so: cannot open shared object file: No such file or directory.
Run Code Online (Sandbox Code Playgroud)

看起来图像希望在原始构建树的 Quicklisp …

linker common-lisp shared-libraries dlopen quicklisp

5
推荐指数
1
解决办法
657
查看次数

为什么 Quicklisp 在 MacOS 上加载 log4cl 失败

在 MacOS 上:当我尝试加载 log4cl 时,出现编译错误:

CL-USER> (ql:quickload "log4cl")
To load "log4cl":
  Load 1 ASDF system:
    log4cl
; Loading "log4cl"
.
; 
; caught ERROR:
;   READ error during COMPILE-FILE:
;   
;     Lock on package SB-C violated when interning LAMBDA-PARENT while in package
;     LOG4CL-IMPL.
;   See also:
;     The SBCL Manual, Node "Package Locks"
;   
;     (in form starting at line: 99, column: 0, position: 3779)

 COMPILE-FILE-ERROR while
compiling #<CL-SOURCE-FILE "log4cl" "src" "naming-sbcl">
   [Condition of type UIOP/LISP-BUILD:COMPILE-FILE-ERROR]
Run Code Online (Sandbox Code Playgroud)

在 Ubuntu 上:我没有看到该错误,并且 …

lisp sbcl common-lisp quicklisp

5
推荐指数
1
解决办法
387
查看次数