La prima edizione del libro Common Lisp The Language , scritto dai lispers
al CMU (Carnegie-Mellon University) [1] e pubblicato nel 1984, servì come base
per ANSI Common Lisp lo standard. La seconda edizione (pubblicata nel 1990)
riflette lo stato attuale del processo di standardizzazione che era ancora
in corso.
Nel 1994, lo standard ANSI Common Lisp è stato finalmente pubblicato. Differiva in
alcuni modi dai dialetti descritti dalle due edizioni di Common Lisp The
Lingua ma ha riconosciuto l'importanza pratica di entrambe le edizioni di
suggerendo che le parole chiave: cltl1 e: cltl2 siano incluse nelle * funzioni *
elenco, che consente di aggiungere condizionali al codice che deve interagire
tra ANSI Common Lisp e questi altri due dialetti.
CLTL1 (come è noto) è una storia antica oggi e la maggior parte, se non tutti,
le implementazioni si sono basate su qualcosa da qualche parte tra ANSI e CLTL2.
Tuttavia, lo standard ANSI ha sofferto di un problema più grande che non aveva nulla da fare
con la lingua di per sé; non è riuscito a risolvere uno o due importanti aspetti pratici
aspetti della programmazione quotidiana e discrepanze sorsero nel modo
le implementazioni hanno affrontato queste esigenze pratiche. Come risultato di questo (non il
differenze linguistiche minori tra ANSI e CLTL2) di cui i miti parlano
codice portatile o non portatile.
Quindi, per riassumere, il linguaggio principale (il set fisso di 24 forme speciali [2] che
ogni implementazione deve includere se lo è di chiamarsi Common Lisp)
assolutamente solido come roccia e fuso in pietra, ma pratici difetti nell'ANSI
standard hanno portato a discrepanze nel modo in cui le implementazioni compensano per loro.
[1] SBCL si basa sulla base di codice CMU originale, da cui il nome Steel Bank Common
Lisp . (Carnegie era un magnate dell'acciaio e Mellon era un finanziere di Wall Street).
[2] moduli speciali Common Lisp