quicklisp

How do I manage common lisp dependencies?

≡放荡痞女 提交于 2019-12-05 08:19:54
What's the lisp equivalent of a pip requirement file, ruby gemfile, node package.json, etc? I'm not entirely sure how asdf and quicklisp relate if those are the proper things to use. A .asd file is a requirements file. Use quicklisp to install requirements. Use ASDF to define a "system". Create a my-system.asd file. (asdf:defsystem #:my-system :serial t :description "Describe my-system here" :author "My Name <my.name@example.com>" :license "Specify license here" :depends-on (#:hunchentoot #:cl-who) :components ((:file "package") (:file "dispatch"))) This creates the system named #:my-system. I

loading quicklisp in a program

瘦欲@ 提交于 2019-12-05 05:50:29
What's the correct way to load quicklisp at the start of my program? I'm currently copy/pasting in the block that quicklisp inserted into my .eclrc, e.g. ;;; quicklisp (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))) (when (probe-file quicklisp-init) (load quicklisp-init))) (ql:quickload "iterate") but it seems like there has to be a less messy way to do things. There isn't really a good way to do that. It's more part of the development environment than the deployment environment. I use buildapp to deploy CL programs, and there's a way for Quicklisp to

How to use quicklisp when CL program is invoked as a shell script?

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-03 09:00:29
问题 I am currently have a small program in Common Lisp, which I want to run as a shell script. I am using the SBCL and perfectly fine with this so will prefer to stay on this platform. :) I am aware about the --script option and it works flawlessly except for (ql:quickload) form. My program uses the CL-FAD, which loads through ql:quickload (I think I should mention that it is package-loading function from quicklisp). When script runs up to evaluating the (ql:quickload :cl-fad) form, it breaks

How to properly save Common Lisp image using SBCL?

て烟熏妆下的殇ゞ 提交于 2019-12-03 07:58:25
If I want to create a Lisp-image of my program, how do I do it properly? Are there any prerequisites? And doesn't it play nicely with QUICKLISP? Right now, if I start SBCL (with just QUICKLISP pre-loaded) and save the image: (save-lisp-and-die "core") And then try to start SBCL again with this image sbcl --core core And then try to do: (ql:quickload :cl-yaclyaml) I get the following: To load "cl-yaclyaml": Load 1 ASDF system: cl-yaclyaml ; Loading "cl-yaclyaml" ....... debugger invoked on a SB-INT:EXTENSION-FAILURE in thread #<THREAD "main thread" RUNNING {100322C613}>: Don't know how to

How to use packages installed by quicklisp?

江枫思渺然 提交于 2019-12-03 03:24:21
I've installed the CL-PNG package using quicklisp. (ql:quicklisp 'png) Now I want to define my own package which depends on the CL-PNG package. Like so: (defpackage :FOO (:use :CL :PNG) (:export :BAR)) When compiling it I get this error: The name "PNG" does not designate any package. [Condition of type SB-KERNEL:SIMPLE-PACKAGE-ERROR] It seems that I have to call (require :PNG) on the REPL before compiling my package. What do I have to do to make the CL-PNG package available for the compiler without manually call require on the REPL? UPDATE: I'm using SBCL. You confuse two separate notions: a

How to use quicklisp when CL program is invoked as a shell script?

放肆的年华 提交于 2019-12-02 22:56:25
I am currently have a small program in Common Lisp, which I want to run as a shell script. I am using the SBCL and perfectly fine with this so will prefer to stay on this platform. :) I am aware about the --script option and it works flawlessly except for (ql:quickload) form. My program uses the CL-FAD , which loads through ql:quickload (I think I should mention that it is package-loading function from quicklisp ). When script runs up to evaluating the (ql:quickload :cl-fad) form, it breaks with the next error: package "QL" not found Program is packed in the single source file, which has

在 LispBox 中安装 aserve 的最简单办法--使用 quicklisp

依然范特西╮ 提交于 2019-12-02 18:31:03
在 LispBox 中安装 aserve 的最简单办法--使用 quicklisp 终于解决一个困扰很久的问题,以前一直没办法正确安装 aserve (就是那个免费版的 portableaserve),不是这里报错就是那里报错,总是提示流相关的问题,当时用 quicklisp 安装了一些流,但是最终还是没能安装好 aserve (当时貌似没有直接用 quicklisp 安装 aserve). 昨天忽然想到为什么不直接试试拿 quicklisp 安装 aserve, 也许其中需要修改的代码已经被修改过了(改天有时间了可以对照一下代码,看看修改了哪些地方), 今天试了一下,果然OK! 终于不用忍受ACL那个丑陋的界面, 可以直接在我的 Emacs 环境下调试 Web 程序了! :) CL-USER> (ql:quickload "aserve") To load "aserve": Install 5 Quicklisp releases: cl-ppcre ironclad nibbles portableaserve puri ; Fetching #<URL "http://beta.quicklisp.org/archive/puri/2010-10-06/puri-20101006-git.tgz"> ; 33.99KB ===========================

How to distribute the asdf/quicklisp dependencies along with an app compiled with Embeddable Common Lisp?

限于喜欢 提交于 2019-12-02 03:00:03
问题 I have tried this example ECL repository asdf example , it works fine but it doesn't have any asdf dependencies. If i add :depends-on (#:inferior-shell) to example.asd then running the compiled standalone executable gives this error : Condition of type: SIMPLE-PACKAGE-ERROR There exists no package with name "ASDF/DRIVER" No restarts available. What causes this error, and what is the idiomatic way of dealing with asdf dependencies on ECL ? 回答1: EDIT: this problem is fixed for ECL newer than 16

How to distribute the asdf/quicklisp dependencies along with an app compiled with Embeddable Common Lisp?

孤街醉人 提交于 2019-12-02 02:36:20
I have tried this example ECL repository asdf example , it works fine but it doesn't have any asdf dependencies. If i add :depends-on (#:inferior-shell) to example.asd then running the compiled standalone executable gives this error : Condition of type: SIMPLE-PACKAGE-ERROR There exists no package with name "ASDF/DRIVER" No restarts available. What causes this error, and what is the idiomatic way of dealing with asdf dependencies on ECL ? EDIT: this problem is fixed for ECL newer than 16.1.3 (fixed in develop branch), so no `require' trick should be needed in the upcoming release. In general

Calling function from macro inside Quicklisp package

試著忘記壹切 提交于 2019-12-01 04:08:38
问题 I put failing.asd (in-package :asdf-user) (defsystem "failing" :description "some code destined to fail" :version "0.1" :author "me" :components ((:file "package"))) and package.lisp (defpackage :failing (:export :foo :bar)) (in-package :failing) (defun foo () 42) (defmacro bar () (let ((x (foo))) `(print ,x))) (bar) into ~/quicklisp/local-projects/failing . Using Clozure CL with Quicklisp installed, I run (ql:quickload :failing) which gives me To load "failing": Load 1 ASDF system: failing ;