LISP

From EduTech Wiki
Jump to: navigation, search

This article or section is a stub. A stub is an entry that did not yet receive substantial attention from editors, and as such does not yet contain enough information to be considered a real article. In other words, it is a short or insufficient piece of information and requires additions.

Contents

Definition

LISP is a multi-paradigm family of programming languages. It was and is popular in artificial intelligence research, but also for teaching programming fundamentals in elite schools.

“Lisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older. Like Fortran, Lisp has changed a great deal since its early days, and a number of dialects have existed over its history. Today, the most widely known general-purpose Lisp dialects are Common Lisp and Scheme. (Wikipedia, retrieved 17:56, 10 April 2008 (UTC))”

“Common Lisp is well suited to large programming projects and explorative programming. The language has a dynamic semantics which distinguishes it from languages such as C and Ada. It features automatic memory management, an interactive incremental development environment, a module system, a large number of powerful data structures, a large standard library of useful functions, a sophisticated object system supporting multiple inheritance and generic functions, an exception system, user-defined types and a macro system which allows programmers to extend the language. CMUCL, retrieved 17:56, 10 April 2008 (UTC)).”

On a personal note: LISP is the only programming language, the main contributor to this Wiki ever liked. Same is true for a special purpose PC I worked with in the late eighties, a Symbolics 3620. It was the future in many ways. I started this page because I do teach some more recent stuff like JavaScript or PHP basics to non-programmers and sometimes (like today) I just wonder why those languages are so ugly and so unreliable compared to what we had 20 years ago and after some googling I found out that LISP and even AI is well alive and maybe even coming back a bit. Maybe I should trash PHP teaching at TECFA and go for Scheme instead :)

Today, there are still several popular flavors of LISP, e.g.

  • CommonLISP (the dominant LISP before the 90' "AI winter"
  • Scheme
  • EmacsLISP (to program the Emacs editor)

Furthermore, there exist libraries for various programming languages and that implement subsets of LISP or Scheme or implement at least some features.

In education

  • A large part (or even the majority) of Intelligent tutoring systems have been programmed in LISP or on top of expert system engines programmed in LISP.
  • Lisp-based web servers can be used to implement adaptive hypertext systems.

Tutorials and documentation

Short introductions and overviews

Beginner's tutorials

Books

  • Paul Graham On LISP is a comprehensive study of advanced Lisp techniques, with bottom-up programming as the unifying theme. (Free online version of Prentice Hall, 1993, 432 pages, paperback. ISBN 0130305529).

LISP and web

Software

Common LISP implementations

  • CMUCL. a free implementation of the Common Lisp programming language which runs on most major Unix platforms.
  • Steel Bank Common Lisp (SBCL) open source / free software Common Lisp implementation. this is a fork of CMUCL. Free and high performance.
  • GCL The GNU implementation of Common Lisp.
  • Clozure CL is an open source Common Lisp implementation that runs on PowerPC hardware under Mac OS X and LinuxPPC, and on x86-64 hardware under Linux, Mac OS X, and FreeBSD.

Webservers in LISP or Scheme

  • CL-HTTP developped at MIT under the lead of J. Mallery. Free (but restricted copyright). The free version runs on various systems and LISPs.
  • araneida. Araneida is a fairly small free extensible Web server for SBCL and many other Common Lisp implementations .
  • HUNCHENTOOT The Common Lisp web server formerly known as TBNL
  • AllegroServe. a Web HTTP/Application Server. Free (LLGPL), made by John Foderaro (Franz Inc.)

Repositories

Various

This is totally uncomplete and will remain so. See CLIKI instead, e.g.

  • Wilbur Semantic Web Toolkit for CLOS. Wilbur is Nokia Research Center's toolkit for programming Semantic Web applications that use RDF (as well as XML and/or DAML+OIL), written in Common Lisp.
  • CL-XML An XML library for CL. The modules perform parsing and serialization between XML, XML Query, and XML Path expressions and DOM-compatible CLOS instances.


Links

  • Cliki The common lisp wiki. Probably the best overal resource currently. Sorted by resources type or application domain.

Collections of links

Opinions

Personal tools
Namespaces
Variants
Actions
Via Google
navigation and help
Share
Categories
Print/export
Toolbox
big brother