# **🌿 Booth: Lisp (1958)**

* **Creator:** John McCarthy (MIT)  
* **Design Philosophy:** "LISt Processor" — built for symbolic computing and artificial intelligence research, treating program code and data identically.  
* **Key Innovations:** Automatic garbage collection, dynamic typing, first-class functions, recursion as a first-class control flow, and **homoiconic** syntax (everything is a list formatted as S-expressions: (operator operand1 operand2)).

## **🔮 Homoiconicity & S-Expressions**

Lisp is famous for its nested parentheses. Because code is represented as nested list structures, a Lisp program can easily parse, generate, and manipulate other Lisp programs at runtime. This property of "code as data" is known as homoiconicity, and it makes Lisp exceptionally powerful for metaprogramming, macros, and symbolic logic.

## **🚀 Hello, World\!**

(write-line "Hello, World\!")

## **🎨 Showpiece: Recursive List Length**

Lisp avoids traditional iteration loops in favor of recursion. This snippet defines a function to recursively calculate the length of a list:

![][image1];; Define a recursive function to find the length of a list  
(defun my-list-length (lst)  
  (if (null lst)  
      0  
      (+ 1 (my-list-length (cdr lst)))))

;; Let's test the function  
(let ((my-list '(apple banana cherry date)))  
  (format t "The list contains \~D elements.\~%" (my-list-length my-list)))

*Note: car returns the first element of a list, whereas cdr (pronounced "could-er") returns the rest of the list.*

[image1]: <data:image/png;base64,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>