Common Lisp is one of the two major dialects of the Lisp programming language. The language is a general purpose and a multi-paradigm one. In addition, Common Lisp allows for a blend of object-oriented, procedural and functional paradigms of programming. Furthermore, the language is suitable for incremental software development due to its dynamic nature.
Common Lisp also offers some degree of backward compatibility to the older versions of the Lisp, such as the Maclisp, allowing software written in those languages to be ported to it. The extension of Common Lisp can be carried out using standards like Lisp macros or reader macros.
A History of the Common Lisp
Originally, the Common Lisp was created as a successor to Maclisp. It aimed to be an improved and standardized version of the Lisp language. As the 1980’s began, many groups were already at work to put forward a suitable successor to the Maclisp. There were many different projects running at that time including ZetaLisp, NIL, Spice Lisp and S-1 Lisp.
The creation of the Common Lisp was aimed at amalgamating and then extending the feature s of these various dialects of the Lisp language. This unification was then to be followed by the standardization of the successor to the Lisp programming language.
In 1981, an initiative taken by Bob Engelmore, the manager of ARPA led to the beginning of work on Common Lisp. He wanted to start the development of a single community standard dialect of Lisp. The early designing that took place at that time occurred mainly through electronic mail. The first overview of this new dialect, the Common Lisp, was given by Guy Lewis Steele Jr. at the ACM symposium on functional programming and LISP of 1982.
In 1984, the book ‘Common Lisp the Language’, first edition, was published, marking the release of the first ever language documentation for Common Lisp. This was followed by the publishing of a second edition six years later, in 1990. The newer publication was incorporated with the changes made to the language as a result of the ANSI Common Lisp standardization process.
In the year 1994, the finalized ANSI Common Lisp standard was published. After that publication, no official updates to the standard have been released or published. However, many extensions and enhancements have been introduced into the language, such as Unicode, CLOS-based IO and Concurrency. All of these improvements are attributable to implementations and libraries like Quicklisp.