Common Lisp
common-lisp-logo.png
Family Lisp
Appeared in 1984
Dialects CLtL1, CLtL2, ANSI Common Lisp
Language specification ANSI approved 8th December 1994
Developer ANSI X3J13 committee
Typing discipline Dynamic, strong
Major implementations SBCL, CMUCL, OpenMCL/CCL, CLISP, ABCL, ECL, GCL, LispWorks, Allegro CL, Corman CL, Symbolics CL, Scieneer CL, Movitz
Influenced by Lisp, Lisp Machine Lisp, MacLisp, Scheme, InterLisp
Influenced Clojure, Dylan, Eulisp, ISLisp, SKILL, Stella, SubL

Opening paragraphs from Wikipedia:

[ANSI Common Lisp was] developed to standardize the divergent variants of Lisp (though mainly the MacLisp variants) which predated it, it is not an implementation but rather a language specification.

[It] is a general-purpose, multi-paradigm programming language, [supporting] a combination of procedural, functional, and object-oriented programming paradigms. As a dynamic programming language, it facilitates evolutionary and incremental software development, with iterative compilation into efficient run-time programs.

[ANSI Common Lisp] includes CLOS, an object system that supports multimethods and method combinations. It is extensible through standard features such as Lisp macros (compile-time code rearrangement accomplished by the program itself) and reader macros (extension of syntax to give special meaning to characters reserved for users for this purpose).

Reference Resources

Books

Other Resources

Communities

Editors

Editor Tweaks: Emacs

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Generic Lisp Configuration
;;;

(defun custom-lisp-mode ()
  (interactive)
  (setq
   indent-tabs-mode nil
   fill-column 80
   emacs-lisp-docstring-fill-column 80))

(add-to-list 'lisp-mode-hook 'custom-lisp-mode)

;;; SLIME Routines

(add-to-list 'load-path "~/elisp/slime")
(add-to-list 'load-path "~/elisp/slime/contrib")
(require 'slime)
(slime-setup '(slime-repl slime-fancy slime-indentation))

(setq
 slime-net-coding-system 'utf-8-unix
 slime-startup-animation nil
 common-lisp-hyperspec-root "file:/var/www/clhs/"
 slime-autodoc-use-multiline-p t)

(defun custom-slime-mode ()
  (setq slime-complete-symbol-function 'slime-simple-complete-symbol
        indent-tabs-mode nil
        show-trailing-whitespace t))

(add-to-list 'slime-repl-mode-hook 'custom-slime-mode)

;;; SLIME/CCL

(add-to-list 'slime-lisp-implementations
             '(ccl ("/home/vy/usr/src/ccl/lx86cl")))

;;; SLIME/SBCL

(add-to-list 'slime-lisp-implementations
             '(sbcl ("/home/vy/usr/bin/sbcl")
                    :env ("SBCL_HOME=/home/vy/usr/lib/sbcl")))
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License