archrelease: copy trunk to community-any
[ArchLinux/community.git] / quicklisp / trunk / FAQ.md
blobd7f49a2d865a4257ab4a8540257e2cf4a40f4063
1 # Quicklisp beta FAQ
3 Frequently asked questions for the [Quicklisp beta](index.html).
5 **How can I add a project to Quicklisp?**
6 It's easy to request that a library you write or find be added to Quicklisp.
7 If it's a public project available via HTTP, CVS, git, darcs, etc., please
8 [create a request](http://github.com/quicklisp/quicklisp-projects/issues) with
9 info about where to find it.
11 There are two blog posts on the topic: [Getting a library into
12 Quicklisp](http://blog.quicklisp.org/2015/01/getting-library-into-
13 quicklisp.html) and [Some problems when adding libraries to
14 Quicklisp](http://blog.quicklisp.org/2015/01/some-problems-when-adding-
15 libraries-to.html).
17 You will be able to make your own private repositories of Quicklisp software
18 (called _dists_ ), but it's not documented right now.
20 **How is Quicklisp related to ASDF?**
21 Quicklisp has an archive of project files and metadata about project
22 relationships. It can download a project and its dependencies. ASDF is used to
23 actually compile and load the project and its dependencies.
25 ASDF is a little like `make` and Quicklisp is a little like a Linux package
26 manager.
28 **I am behind a firewall. Can I use a proxy?**
29 Yes. After loading `quicklisp.lisp`, you can use the `:proxy` option of
30 `quicklisp-quickstart:install`:
34         (quicklisp-quickstart:install :proxy "http://myproxy.site.com:8080/")
37 Only plain HTTP (no SSL) is supported at this time. Proxy authentication is
38 also not yet supported.
40 You can change the proxy value after initial installation with this:
44         (setf (ql-config:config-value "proxy-url") "http://proxy.value.here")
47 The value is preserved between Quicklisp sessions.
49 It's possible to use an intermediate proxy to do SSL, authentication, and more
50 with Quicklisp. See [Quicklisp with an Authenticating
51 Proxy](http://netprophetblog.blogspot.com/2014/02/tool-posting-quicklisp-
52 with.html) for details.
54 **Can I install somewhere other than ~/quicklisp?**
55 Yes. After loading `quicklisp.lisp`, you can use the `:path` option of
56 `quicklisp-quickstart:install`:
60         (quicklisp-quickstart:install :path ".quicklisp/")
63 You can also change the Quicklisp path after installation simply by renaming
64 `quicklisp` to something else.
66 **I got this error in Emacs when using quicklisp-slime-helper: _Searching for
67 program: no such file or directory, lisp_**
68 This error occurs because you need to tell slime what Lisp implementation to
69 use by setting an appropriate value for `inferior-lisp-program`. For example,
70 if you use SBCL, you can add this to your .emacs file:
74     (setq inferior-lisp-program "sbcl")
77 The value can also be a full pathname, e.g. `/home/xach/bin/clisp`.
79 There are other ways to configure which CL implementation is used when
80 starting slime. See [the slime manual](http://common-
81 lisp.net/project/slime/doc/html/Multiple-Lisps.html) for more details.
83 **I got this error: _Quicklisp has already been installed._**
84 This error occurs if you load quicklisp.lisp after the initial installation.
85 After Quicklisp has been installed, you don't need to load quicklisp.lisp
86 again. To load Quicklisp into your Lisp, you can use this:
90         (load (merge-pathnames "quicklisp/setup.lisp"
91                            (user-homedir-pathname)))
94 To automatically load Quicklisp when your Lisp starts, you can use this:
98         (ql:add-to-init-file)
101 **Can I load a local project that isn't part of Quicklisp?**
102 Yes. The easiest way is to put the project's directory in Quicklisp's `local-
103 projects` directory. For example:
107         $ **cd ~/quicklisp/local-projects/**
108         $ **git clone git://github.com/xach/format-time.git**
111 The project will then be loadable via `(ql:quickload "format-time")`
113 Also, any system file that can be found via ASDF's [source registry
114 system](http://common-lisp.net/project/asdf/asdf.html#Configuring-ASDF) can be
115 loaded with `ql:quickload`.
117 For example, if you have a system file `my-project.asd` in `/projects/my-
118 project/`, you can do something like this:
122         (push #p"/projects/my-project/" asdf:*central-registry*)
123         (ql:quickload "my-project")
126 If `my-project` depends on systems that are available via Quicklisp that are
127 not already installed, they will be automatically installed.
129 **Can I load a local version of a project instead of Quicklisp's version?**
130 Yes. Any system file that can be found in a local project directory or in
131 ASDF's source registry system will be loaded in preference to Quicklisp's
132 version of the system. See _Can I load a local project that isn't part of
133 Quicklisp?_ for an example.
135 **Do I have to install Quicklisp separately for multiple Lisps?**
136 No. You can use one installation of Quicklisp among multiple implementations
137 of Common Lisp. As long as they load the same `setup.lisp`, they will share
138 metadata and software files. FASL files are automatically separated by ASDF's
139 output translations mechanism.
141 **Can I install or move Quicklisp somewhere other than ~/quicklisp/?**
142 Yes. During installation, you can use the `:path` option to install it to any
143 location you want. For example:
147         (quicklisp-quickstart:install :path "/Users/xach/.quicklisp/")
150 After installation, you can also move the `quicklisp` directory to a different
151 place. The directory is self-contained and can be renamed or moved anywhere
152 you like.
154 Making use of Quicklisp from any directory is a matter of loading the
155 `setup.lisp` file from that directory. All other work is done relative to that
156 file.
158 **How can I support Quicklisp?**
159 There are a few ways:
161   * [Make a donation](/donations.html)
162   * Write about Quicklisp online (some people don't know about it)
163   * Write some great Lisp libraries and tell me to add them to Quicklisp
165 All help is greatly appreciated.
167 [Zach Beane](mailto:zach@quicklisp.org) 2020-11-16