Though it’s not the most common choice for production coding today, Common Lisp has a long history in computer science that dates decades. So, if you’re interested in learning more about the fundamentals of computer science, machine learning and algorithm design, Common Lisp is a language worth knowing.
What is the history of Common Lisp? And what kinds of things is it used for today? We’ll answer those questions in this article.
The History of Lisp in Computer Science
Lisp is one of the oldest programming languages that’s still in use today. It traces its history back to 1958 at the Massachusetts Institute of Technology. It was designed as a language that mathematicians and computer scientists could use to design and implement algorithms, particularly in the brand-new field of machine learning (or artificial intelligence).
“Dialects” of Lisp — that is, programming languages based on or derived from Lisp — are immediately recognizable by their use of prefix notation, also known as reverse Polish notation. This means that the operator always comes first, followed by a list of operands. For example, the expression (1 + 2 + 3) would instead be written as (+ 1 2 3).
While this style of notation can seem confusing at first, it allows Lisp to be used to solve complex problems while the code remains relatively simple. Because of this, some of the most important advancements in computer science were first made using Lisp. This includes things we take for granted today, including conditionals (if-then statements), garbage collection (automatic memory management), and dynamic typing (variables that can switch between different data types on the fly).
Lisp Machines, Maclisp, and Common Lisp
Lisp was originally used on large computers like the IBM 704. It was fed into these machines using punch cards. Eventually, the MIT AI lab developed special-purpose computers that were designed to run Lisp efficiently. These were called Lisp Machines, and were programmed using their own dialect of Lisp. These were used throughout the 1970s and 80s and contributed to many advances in computer science.
At the same time, work continued to develop Lisp for other general purpose machines, like the Digital Equipment Corporation (DEC) PDP-6 and PDP-10. This version was called Maclisp, named for MIT’s Project MAC (Mathematics and Computers) where it was developed. (Maclisp has no relation to Apple or the Macintosh computer, which it predates by several decades.)
These and other groups within MIT and other research institutions continued their work on Lisp and on important developments in computer science, algorithms, and artificial intelligence (AI) over the next decades.
The Origin of Common Lisp
In the 1980s, several groups were working on a successor to Maclisp that could be run on newer and less-expensive computers. This included several commercial variants intended to be licensed and sold for a profit. Around this time, some saw the need to unify and standardize this work on Lisp so that programmers could more easily collaborate and share important developments using a common dialect.
In 1981, a group of computer scientists began work on a language specification for Lisp. In 1984, a book Common Lisp the Language was published, which was then adopted by the American National Standards Institute (ANSI) as the standard for Common Lisp.
Common Lisp is a language specification, rather than an implementation. This means that you can’t just download “Common Lisp” and start using it. Rather, different groups use the specification to implement Common Lisp on different platforms, architectures, and operating systems by creating tools such as compilers, runtime environments, IDEs, and so on. These can be free and open source software, or they can be commercial products for sale. And they can vary in how well or how completely they implement the standard. But in general, Common Lisp programs written for one implementation can easily be ported to another platform that uses the Common Lisp specification.
Common Lisp vs. Scheme
Common Lisp is one of the two most common dialects of Lisp in use today, the other being Scheme. Scheme is older than Common Lisp by about 10 years, but some of the same engineers that worked on Scheme were also involved in the creation of Common Lisp.
Scheme features a minimalist design, with few built-in features, but its clear and simple semantics have led to Scheme being used to develop or design popular programming languages like JavaScript, Ruby, R, and Racket.
Common Lisp, on the other hand, is a fully-featured general purpose programming language. It has many built-in features, and some implementations add extensions to add even more features.
How Common Lisp Is Used
Lisp has a long tradition of being used in breakthrough innovations in computer science. Its origins in the MIT AI Lab gave rise to Common Lisp’s use in both prototyping and developing artificial intelligence applications. In addition, Common Lisp is used in data science, where it excels at organizing and analyzing large amounts of numerical data.
Artificial Intelligence in Common Lisp
Common Lisp is used by researchers working on artificial intelligence, machine learning and expert systems. The ACT-R framework was developed by researchers at Carnegie Mellon University to understand the basic foundations of the human mind and human cognition. Models developed using ACT-R have been written up in more than 700 scientific papers.
In more practical terms, Common Lisp has been used to understand natural language. The writing platform Grammarly uses a grammar engine that was written in Common Lisp. It enables the application to understand and process complex grammatical structures and offer suggestions for improvement.
Data Science In Common Lisp
Common Lisp is also used to develop applications that rely on data science to make decisions. American Express uses a rules system written in Lisp to analyze credit applications. ITA Software developed an airfare search engine in Common Lisp that is used by travel websites like Orbitz and Kayak, as well as major airlines, to help customers find airfare deals.
Engineering, Logistics and More
Data science and artificial intelligence principles implemented in Common Lisp have been used to develop applications that help engineers to design aircraft, pilot space missions, and plan and monitor supply chains.
Piano is an aircraft analysis suite that is used by companies like Boeing and Airbus to prototype and analyze plane aerodynamics, efficiency, and more. NASA has used Common Lisp to develop mission planning systems and autopilot systems for missions such as Deep Space One and the Mars Pathfinder. And the U.S. Military uses a system called DART to analyze its logistical supply chains and the challenges involved in moving materials and personnel all over the world. Immediately after its implementation, DART solved several logistical challenges, and saved the U.S. military millions of dollars in the process.
Next Steps: Common Lisp
If you’re interested in learning more about Common Lisp, there are many online resources that can teach you the basics of its syntax and coding principles. To learn more about the concepts of data science and artificial intelligence, why not check out one of these free courses from SoloLearn? While these courses focus on Python, they’ll give you a solid introduction to the principles of data analysis, machine learning, and more. Plus, our easy-to-use app lets you keep learning on the go, no matter where you are or how much time you have to learn.