Lisp (programming language)

From WikiMD's Food, Medicine & Wellness Encyclopedia

Lisp_logo
LISP_machine
4.3_BSD_UWisc_VAX_Emulation_Lisp_Manual
Cons-cells
Lisp
ParadigmMulti-paradigm: functional, procedural, reflective, meta
FamilyLisp
Designed byJohn McCarthy
Typing disciplineDynamic, strong
ScopeLexical
PlatformCross-platform
OSUnix, Linux, Windows, macOS
Filename extensions.lisp, .lsp, .cl, .el
Website{{#property:P856}}
Dialects
Common Lisp, Scheme, Clojure, Emacs Lisp, Racket
Influenced by
Lambda calculus, Fortran
Influenced
C, JavaScript, Python, Ruby, Haskell, Julia


Lisp (historically, LISP) is a family of programming languages with a long history and a distinctive, fully parenthesized prefix notation. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today. Only Fortran is older, by one year. Lisp has changed since its early days, and many dialects have existed over its history. Today, the most widely known general-purpose Lisp dialects are Common Lisp and Scheme.

History[edit | edit source]

Lisp was invented by John McCarthy in 1958 while he was at the MIT. He published its design in a paper in Communications of the ACM in 1960, entitled "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I". Lisp was originally created as a practical mathematical notation for computer programs, influenced by the lambda calculus, and soon became the favored programming language for artificial intelligence (AI) research. As one of the earliest programming languages, Lisp pioneered many ideas in computer science, including tree data structures, automatic storage management, dynamic typing, conditionals, higher-order functions, recursion, and the self-hosting compiler.

Syntax and Semantics[edit | edit source]

Lisp is known for its fully parenthesized prefix notation. All code and data are written as S-expressions, or parenthesized lists. For example, the function call that adds 1 and 2 is written as:

(+ 1 2)

This syntax allows for easy manipulation of code as data, which is a key feature of Lisp.

Dialects[edit | edit source]

Over its long history, many dialects of Lisp have been developed. Some of the most notable include:

  • Common Lisp: A general-purpose, multi-paradigm programming language that supports procedural, functional, and object-oriented programming.
  • Scheme: A minimalist dialect of Lisp that emphasizes a smaller standard core with powerful tools for language extension.
  • Clojure: A modern, functional dialect of Lisp that runs on the Java Virtual Machine (JVM) and emphasizes immutability and concurrency.
  • Emacs Lisp: A dialect used as a scripting language by the Emacs text editor.
  • Racket: A descendant of Scheme, designed to be a general-purpose, multi-paradigm programming language.

Influence[edit | edit source]

Lisp has had a significant influence on many other programming languages and on the field of computer science as a whole. Languages such as Python, Ruby, and JavaScript have borrowed concepts from Lisp. The language's emphasis on recursion and higher-order functions has also influenced the development of functional programming.

Applications[edit | edit source]

Lisp has been used in a variety of applications, particularly in the field of artificial intelligence. Its ability to easily manipulate symbolic information and its powerful macro system make it well-suited for AI research and development. Lisp is also used in academic research, rapid prototyping, and exploratory programming.

See also[edit | edit source]

References[edit | edit source]

External links[edit | edit source]


Wiki.png

Navigation: Wellness - Encyclopedia - Health topics - Disease Index‏‎ - Drugs - World Directory - Gray's Anatomy - Keto diet - Recipes

Search WikiMD


Ad.Tired of being Overweight? Try W8MD's physician weight loss program.
Semaglutide (Ozempic / Wegovy and Tirzepatide (Mounjaro / Zepbound) available.
Advertise on WikiMD

WikiMD is not a substitute for professional medical advice. See full disclaimer.

Credits:Most images are courtesy of Wikimedia commons, and templates Wikipedia, licensed under CC BY SA or similar.

Contributors: Prab R. Tumpati, MD