This document describes a set of Emacs Lisp facilities borrowed from Common Lisp. All the facilities are described here in detail; for more discussion and examples, Guy L. Steele’s Common Lisp, the Language, second edition, is the definitive book on Common Lisp. While this document does not assume any prior knowledge of Common Lisp, it does assume a basic familiarity with Emacs Lisp.
• Overview: | Installation, usage, etc. | |
• Program Structure: | Arglists, ‘eval-when’, ‘defalias’ | |
• Predicates: | ‘typep’, ‘eql’, and ‘equalp’ | |
• Control Structure: | ‘setf’, ‘when’, ‘do’, ‘loop’, etc. | |
• Macros: | Destructuring, ‘define-compiler-macro’ | |
• Declarations: | ‘proclaim’, ‘declare’, etc. | |
• Symbols: | Property lists, ‘gensym’ | |
• Numbers: | Predicates, functions, random numbers | |
• Sequences: | Mapping, functions, searching, sorting | |
• Lists: | ‘cadr’, ‘sublis’, ‘member*’, ‘assoc*’, etc. | |
• Hash Tables: | ‘make-hash-table’, ‘gethash’, etc. | |
• Structures: | ‘defstruct’ | |
• Assertions: | ‘check-type’, ‘assert’, ‘ignore-errors’. | |
• Efficiency Concerns: | Hints and techniques | |
• Common Lisp Compatibility: | All known differences with Steele | |
• Old CL Compatibility: | All known differences with old cl.el | |
• Porting Common Lisp: | Hints for porting Common Lisp code | |
• Function Index: | ||
• Variable Index: |