Hasty Briefsbeta

Bilingual

What Made Lisp Different

a day ago
  • Conditionals (if-then-else) were invented by McCarthy for Lisp and later spread to most languages.
  • Functions are first-class objects in Lisp, treated as a data type like integers or strings.
  • Recursion was first supported as a programming language feature in Lisp.
  • Variables in Lisp are effectively pointers; values have types, not variables.
  • Lisp introduced garbage-collection for automatic memory management.
  • Programs are composed of expressions that each return a value, unlike the expression/statement distinction in Fortran.
  • Lisp has a symbol type distinct from strings, allowing equality tests via pointer comparison.
  • Code is represented using trees of symbols, enabling powerful macros (still unique to Lisp).
  • The whole language is always available: no distinction between read-time, compile-time, and runtime, allowing syntax reprogramming and macros.