Next: , Previous: , Up: Introduction   [Contents][Index]

1.2 Common Lisp

Lisp is the second-oldest high-level computer language after Fortran. It is a very flexible and powerful language, and a lot of problems arising in computer science were first solved using Lisp as a vehicle. Besides being well-suited for solving AI problems, the world’s first computer algebra system, Macsyma, was implemented in Lisp, and, more recently, Lisp was used in the package Kenzo to solve difficult problems in algebraic topology. Lisp is also the language of Autocad and the editor Emacs. Astonishingly, up to now, Lisp has not been a mainstream language. The reasons for this are mostly historical: in the first decades of computer history, resources were scarce and a language for which the first implementations were interpreters, which has automatic memory management as an essential component, and which is used best inside large development environments could not compete with lightweight languages for the computationally easy problems which were tackled at that time.

Nowadays, the situation is drastically different. Computing power has increased tremendously, thus making it possible to have powerful Lisp environments on personal computers while still using only a fraction of the available memory. Due to Java, automatic memory management has become a mainstream feature. In the meantime, Lisp itself has grown up into Common Lisp, which is a powerful object-oriented language for handling real-world applications, and for which many implementations support native code compilation.

Consequently, using Lisp for problems outside its original realm of artificial intelligence is a very natural choice today, see (Fateman et al, 1995), (Fateman 2001), (Neuss 2002).