Skip to main content

Lisp

Overview

Lisp family languages (Common Lisp, Clojure, Scheme, Racket) center on S-expressions, macros, and homoiconicity—code as data. They excel at symbolic computation, DSLs, and interactive development through REPL-driven workflows.

Key concepts

  • S-expressions(operator arg1 arg2) uniform syntax.
  • REPL — Read, eval, print loop for exploration.
  • Macros — Compile-time code generation (not just functions).
  • Garbage collection — Typical runtime-managed memory.
  • Dialects — Different Lisps have distinct object systems and libraries.

Eval loop

Sample: Scheme-style definitions

(define (square x) (* x x))

(define (sum-squares a b)
(+ (square a) (square b)))

(sum-squares 3 4) ; => 25

References