# Common Lisp Common Lisp is a [Lisp](lisp.md) dialect, created as a successor of MIT's Maclisp. It also one of the most efficient (in terms of execution speed) Lisps, almost archiving the performance of an equivalent [C](c.md) program when using a compiler and type hints. Unlike other Lisps, Common Lisp is gradually typed: by default its type system is dynamic, but it allows to specify the explicit type for a binding, which then a compiler can use for compile-time type checking and for producing better [machine code](machine_code.md). It also allows for [OOP](oop.md) with the included CLOS (Common Lisp Object System). Notably Common Lisp also has an interactive environment, SLIME (The Superior Lisp Interaction Mode for [Emacs](emacs.md)) which allows REPL-driven development and live program debugging. Unfortunately, it seems to be almost vendor-locked into Emacs. ## Implementations - [SBCL](https://www.sbcl.org/) (Steel Bank Common Lisp): a [JIT](jit.md) compiler, seems to be the most popular implementation; public domain. - [CLISP](https://www.gnu.org/software/clisp/): bytecode interpreter, last release was in 2010 but it is still in active development. - [GCL](https://www.gnu.org/software/gcl/) (GNU Common Lisp): GNU's Common Lisp compiler, based in Kyoto Common Lisp (KCL). - [ECL](https://ecl.common-lisp.dev/) (Embeddable Common Lisp): compiler, also derived from KCL. - [CCL](https://ccl.clozure.com/) (Closure Common Lisp). - KCL (Kyoto Common Lisp): Historical, one of the first compilers made. Made in Kyoto, Japan--hence the name. - LispWorks: propietary, includes an [IDE](ide.md). - ... ## Examples ```lisp (princ "Hello, World!") ``` TODO ## Resources - Common Lisp HyperSpec: HTML rendition of the Common Lisp ANSI standard, can be found here: with some better looking versions here: and . - [CLiki](https://www.cliki.net/): a Common Lisp Wiki. - : kind of semi-official webpage for Common Lisp. - [The Common Lisp Cookbook](https://lispcookbook.github.io/cl-cookbook/) ## See also - [Scheme](scheme.md)