Question

I want to learn and use SBCL because of its ease of learning and speed. (I've been playing with Lisp 3 years ago, and now am refreshing it.) But how can I learn what's included in the standard library, so that I don't re-implement things?

After Python this is like a nightmare: the SBCL website has a manual that covers the software only, not a word on the standard library. (For comparison, Gnu Common Lisp's website has only sources and binaries.)

Was it helpful?

Solution

Firstly: that problem isn't really SBCL specific. The CL library is standardised and thus you can use the documentation of any lisp.

As mentioned, the CL HyperSpec is very useful. It is however a reference and thus not very suitable for learning in my opinion.

For learning, there are various books out there. I personally like these a lot:

You should also look at existing code. I particularly enjoyed reading any of the libs by Edi Weitz but spread out and read from different sources to see how other people use Lisp and its huge library to solve problems.

If you can spend that much time you can even log onto IRC (the #lisp channel) and ask questions there. Or post code you have written to comp.lang.lisp and ask for a critique to learn via direct feedback.

OTHER TIPS

Consult the Common Lisp HyperSpec for documentation about what is included in Common Lisp

Also, if you are learning lisp, consider using CLISP instead of SBCL. CLISP has (IMHO) a much more intuitive debugger. For any non-production stuff the difference between most Common Lisp implementations are negligible.

If you are developing on Windows, CLHS (Common Lisp HyperSpec) and CLtL2 (Common Lisp the Language, 2nd Edition) are available as CHM help files, which makes looking for CL standard library functions much easier. I find that it's faster than using the (online or offline) HTML version.

The CHM files are probably available from more than one source. One convenient download is:

http://www.daansystems.com/lispide/

(They're bundled with LispIDE package.)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top