Common Lisp
Common Lisp has had four language phases:
- 1984: CLtL, Common Lisp defined by the book Common Lisp, the Language
- 1990 CLtL2, Common Lisp described by the book Common Lisp, the Language, 2nd Edition. It described an interim state before the ANSI CL standard and is not fully compatible. The book is available in HTML format, see Common Lisp, the Language, 2nd Edition
- 1994, ANSI Common Lisp standard, see the CL HyperSpec. A useful free PDF has been made from the last draft, see Common Lisp Standard Draft.
- since then: stable core, various extensions, attempts on community standards (CDR)
Most current implementations provide the full ANSI CL standard with various extensions. Implementations which don't provide the full standard: mocl (by design) and GCL. For many extensions there are portable abstraction layers or portable library (threading, FFI, CLOS streams, ...).
In Common Lisp once can find out which language dialect an implementation provides, but only ANSI CL really matters today:
CL-USER 11 > (let ((dialects '()))
(dolist (d '(:ansi-cl :cltl2 :cltl1))
(when (member d *features*) (push d dialects)))
dialects)
(:ANSI-CL)
Scheme
Thus the Common Lisp situation is a bit different from Scheme: almost all Common Lisp implementations are providing a large common (!) language. For Scheme there are at least R5RS, R6RS and R7RS variants in use. But Scheme also has a lot of extensions and with a good community language extension management (see SRFI). There is some work on a R7RS large standard variant, which would standardize a large language: https://groups.google.com/forum/#!forum/scheme-reports-wg2