Getting started with lisp
Remarks#
This section provides an overview of what lisp is, and why a developer might want to use it.
It should also mention any large subjects within lisp, and link out to the related topics. Since the Documentation for lisp is new, you may need to create initial versions of those related topics.
Installation or Setup
Probably the two most popular free implementations of Common Lisp are Clozure Common Lisp (CCL) and Steel Bank Common Lisp (SBCL). They are both available for a variety of platforms including Linux on x86-64 and Linux on ARM.
CCL: https://ccl.clozure.com/download.html
SBCL: https://www.sbcl.org/getting.html
Besides the compiler and basic Read-Eval-Print Loop (REPL), you may want some sort of development environment. One popular setup is to use Emacs to edit text interactively. The Superior Lisp Interaction Mode for Emacs (SLIME) allows Emacs to connect to a Lisp implementation and evaluate code interactively, from the editable text file and from a REPL within the Emacs editor:
https://common-lisp.net/project/slime/
Dialects of Lisp and their implementations
Invented by John McCarthy around 1958, Lisp (List Processor) has continued to grow into an entire family of languages.
Since StackOverflow is more about practical programming problems, typically problems will involve actual Lisp dialects or derived languages and their implementations. Problems that are generally Lisp-related may be tagged with lisp. There are many dialects and implementations, but not all are significant for StackOverflow.
Important dialects and related languages are:
-
Common Lisp (tag), a general purpose language with many implementations and a standard – popular implementations are SBCL, CLISP, Clozure CL and others
-
Emacs Lisp (tag), a Lisp dialect and its implementation mainly used in the GNU Emacs editor
-
Scheme (tag), a Lisp-like language with many implementations and an evolving standard
-
Racket (tag), a language and its implementation derived from Scheme
-
Clojure (tag), a language and a main implementation for the JVM
Lisp Resources
See also Common Lisp Learning Resources.
Online Books
- Practical Common Lisp, Peter Seibel. Good for experienced programmers.
- Common Lisp: A Gentle Introduction to Symbolic Computation Good for people new to programming.
- Common Lisp, the Language
- On Lisp, Paul Graham
- The Common Lisp Cookbook
Offline Books
- ANSI Common Lisp, Paul Graham.
- Common Lisp - An interactive approach
- Common Lisp Recipes
IRC
#lisp
#ccl
#sbcl
Libraries Quicklisp is a package management platform for Lisp libraries.