Nepedia
Back to Discover
Advanced Reader
💻

Lisp (programming language)

technology Maturity 7-9 Next article →

Lisp is a famous family of programming languages with a deep history in computer science. The name Lisp is an abbreviation for "List Processor," which describes its primary function. It is the second-oldest high-level programming language still in common use, following only Fortran.

Cons-Cell
Cons-Cell

Lisp is highly valued because it allows programmers to treat computer code as a type of data. This unique ability lets users create new ways to write instructions through a system called macros. Because of this flexibility, Lisp became a foundational tool for many different areas of technology.

The core mechanism of Lisp relies on a structure called an s-expression. Every piece of code is written as a parenthesized list.

Cons-cells
Cons-cells

To perform an action, a programmer writes a list where the function name comes first. The pieces of information needed for that function, known as arguments, follow the name. For example, a function using three arguments would be written as a single list containing all four items. This distinctive prefix notation makes Lisp code instantly recognizable to those who study it.

Lisp is built upon specific data structures known as linked lists. These lists are manipulated using primitive operations that were originally named after computer hardware parts. Two such operations are car and cdr. In early IBM 704 computers, these names stood for "Contents of the Address part of Register" and "Contents of the Decrement part of Register." Today, these terms are still used to describe returning the first item in a list or the rest of the list. These simple building blocks allow the language to process complex information through recursion and other logical steps.

The history of Lisp began in 1958 at the Massachusetts Institute of Technology (MIT). John McCarthy developed the language because he wanted a practical mathematical notation for artificial intelligence research. He specifically aimed to make it work on the IBM 704 computer.

LISP machine
LISP machine

While McCarthy designed the logic, Steve Russell implemented the first working version using punched cards. Russell discovered that the Lisp "eval" function could be written in machine code. McCarthy later shared his formal design in a 1960 research paper regarding symbolic expressions.

As the language grew, many different versions called dialects emerged. Some dialects were created for specific goals or machines. For instance, Scheme was created in 1975, and Maclisp was developed for MIT's Project MAC. In the 1980s and 1990s, researchers tried to unify these many versions into one standard. This effort resulted in Common Lisp. In 1994, the ANSI organization published an official standard for Common Lisp to help with compatibility.

Today, modern dialects like Clojure continue this tradition by running on the Java virtual machine.

Lisp has had a massive impact on the field of computer science. It pioneered many essential concepts used in almost all modern languages. These include automatic storage management, which is often called garbage collection. It also introduced dynamic typing, conditionals, and higher-order functions. The language helped create the read–eval–print loop, which is a common way for programmers to interact with code. These innovations allowed computers to handle much more complex tasks than they could previously.

Beyond theoretical science, Lisp has been used in many practical and surprising ways. It was used to implement the Micro Planner language for the SHRDLU artificial intelligence system. In the world of entertainment, the Game Oriented Assembly Lisp (GOAL) was used to develop the Jak and Daxter video game series. The language even influenced the design of computer hardware. For example, the 36-bit word size of the PDP-10 computer was influenced by the need to hold two 18-bit Lisp pointers in a single word. This connection between language design and hardware shows how deeply Lisp is woven into the fabric of computing history.

627 words

Where will your curiosity go next?

Keep exploring at your chosen reading level.

🖼️ Images & Media (4)
File:LISP machine.jpg
LISP machine.jpg
File:4.3 BSD UWisc VAX Emulation Lisp Manual.png
4.3 BSD UWisc VAX Emulation Lisp Manual.png
File:Cons-Cell.svg
Cons-Cell.svg
File:Cons-cells.svg
Cons-cells.svg
More to explore

What is Nepedia?

A free, ad-free encyclopedia for children. Every article is written at five reading levels, so the same page works for a five-year-old and a fifteen-year-old — use the level switcher above to see this one change. No account needed to read.