Next: , Previous: , Up: The Universe Known as LISP   [Contents][Index]


Introduction to Lisp

../resources/images/lisp-creature
Introducing Commong Lisp

Common Lisp

Welcome to lisp-lang.org, the new home of Common Lisp on the web.

Previously, if someone wanted to learn Common Lisp, the language, their best bet was Peter Seibel’s Practical Common Lisp. But the book, written in 2005, doesn’t cover setting up a modern Common Lisp environment: tools like Quicklisp and Quickdocs are more recent inventions.

Learning how to write ‘ASDF’ systems (think package.json), how a library should be structured, where to find documentation (the answer is Quickdocs), all of that information is spread across dozens of tutorials, manuals and blog posts across different websites.

Languages created by a single person or a small group, around which a community accretes, tend to do better here: Python, Ruby and Scala all have websites that provide all of these resources. Languages created by commitees, like JavaScript or Common Lisp or C, rarely have official websites.

The goal of lisp-lang.org is to lower the barrier to entry to Common Lisp:

  • provide a central location to both advertise Common Lisp, and
  • provide all the information prospective users need to become productive with it,
  • without having to collect it from different sites and blogs, and
  • without falling into choice paralysis.

‘Productive’ means going beyond teaching users about lists and macros, and including information on

Currently we have:

Awesome Common Lisp

Awesome Common Lisp

A curated list of awesome Common Lisp libraries (and more)

Common Lisp Wiki

https://wiki.c2.com/?CommonLisp

Descended from one of the oldest surviving programming languages (only Fortran is older), CommonLisp is the first language with integrated support for Object Oriented Programming to get ANSI standardized.

It is a rich language with clear semantics which allows programming in procedural, functional, object oriented and logical (rule based) style all in the same program.

Standardized Features
  • A well designed, well integrated object system (CLOS)
  • A well designed exception/condition handling mechanism
  • A not so easy to use/understand, but working, Package system
  • Support for Runtime Compilation2
  • A MetaObjectProtocol (the MOP is supplied in most implementations)3
Common-Lisp

https://common-lisp.net

“This site is one among many gateways to Common Lisp. Its goal is to provide the Common Lisp community with development resources and to work as a starting point for new programmers.”

Common Lisp is the modern, multi-paradigm, high-performance, compiled, ANSI-standardized, most prominent (along with Scheme) descendant of the long-running family of Lisp programming languages.

Common Lisp is known for being extremely flexible, having excellent support for object oriented programming, and fast prototyping capabilities. It also sports an extremely powerful macro system that allows you to tailor the language to your application, and a flexible run-time environment that allows modification and debugging of running applications (excellent for server-side development and long-running critical software). It is a multi-paradigm programming language that allows you to choose the approach and paradigm according to your application domain.

LISP was originally specified in 1958 and derives its name from ‘LISt Processing’ (or Lots of Insignificant Silly Parentheses).

Maclisp is a dialect of Lisp developed at MIT in 1966. It added many features that we take for granted in Lisp today: functions with variable numbers of arguments, macros, arrays, and non-local dynamic exits. It was influential on the development of EmacsLisp, Scheme, ZetaLisp and CommonLisp. The first Scheme interpreter and the first Emacs with Lisp facilities (see MulticsEmacs) were written in MacLisp.


Footnotes

(2)

Runtime Compilation: https://wiki.c2.com/?RuntimeCompilation

(3)

MetaObjectProtocol: https://wiki.c2.com/?MetaObjectProtocol


Next: Common Lisp Implementations, Previous: The Universe Known as LISP, Up: The Universe Known as LISP   [Contents][Index]