Common Lisp/External libraries

From Wikibooks, open books for an open world
Jump to: navigation, search

Common Lisp libraries exist for many purposes. Here we will showcase a small sampling of mature, useful, and free packages available, showing some of the functionality they provide.

System Utilities[edit]

  1. ASDF — Another System Definition Facility
  2. clbuild — A script to update/install the latest versions of all the most important Common Lisp packages
  3. Roswell - An implementation installer and script launcher

Language Extension[edit]

These libraries add new control structures to the Common Lisp language.

  1. cl21 - An experimental project that brings more modern idioms into Common Lisp
  2. Iterate — Easy and extensible iteration
  3. Extended Binding — Pattern matching, anaphoric control structures, and more
  4. Cells — A constraint based programming paradigm that operates in a way similar to spread sheets
  5. Screamer — Efficient, nondeterminism for Common Lisp
  6. FSet — Functional programming in Common Lisp

Data Structures[edit]

  1. CL-CONTAINERS — A library for abstracting data structures details
  2. Funds — FUNctional Data Structures for Common Lisp

Database[edit]

  1. cl-dbi - A database independant interface
  2. postmodern - A library for interacting with PostgreSQL databases
  3. Mito - An ORM, with migrations, relationships and DB schema versioning
  4. Crane - An ORM, based on the CL Objects System, with migrations

Parsing and Text processing[edit]

  1. CL-PPCRE — regular expressions library
  2. CXML — An XML parsing library
  3. CL-HTML-Parse — Parsing HTML
  4. CL-YACC — A parser generator
  5. CL-Walker — A Common Lisp parser for Common Lisp

Serialization and Persistent data[edit]

  1. Serialization — serialization of Common Lisp data (via cl-serialization and cl-store)
  2. ELEPHANT — A persistent object system
  3. CL-Perec — A persistent object system

GUI[edit]

  1. Ltk — Common Lisp interface to Tk (portable GUI library)
  2. McCLIM — A Common Lisp GUI builder

Graphics[edit]

  1. Vecto — A library for drawing and rastering vector graphic images
  2. CL-OpenGL — A set of GL, GLU, and GLUT bindings

Audio[edit]

Web and Network[edit]

  1. Drakma — A full featured HTTP client
  2. Portable Allegro Serve — A fairly light weight, multithreaded, HTTP server
  3. Hunchentoot — A Web application server written in Common Lisp
  4. Caveman - A fully featured web framework
  5. Plump - An html/xml parser, tolerant on malformed markup
  6. lquery - A jquery-like DOM/HTML manipulation library
  7. Djula - A port of Django templates
  8. Parenscript - A translator from Common Lisp to Javascript
  9. Wuwei - Examples on how to do Ajax in Lisp

Further reading[edit]

  1. http://eudoxia.me/article/common-lisp-sotu-2015 - An opinionated post on the state of the Common Lisp ecosystem, from 2015