|
@@ -1,5 +1,7 @@
|
|
|
<div align="center">
|
|
|
- <img src="http://i.imgur.com/jLVXhpc.png">
|
|
|
+ <a href="https://awesome-cl.com" target="_blank">
|
|
|
+ <img src="https://i.imgur.com/jLVXhpc.png">
|
|
|
+ </a>
|
|
|
</div>
|
|
|
|
|
|
# Awesome Common Lisp [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) [![Assertible status](https://assertible.com/apis/102e334d-f9a8-4565-9353-7572de775cae/status?api_token=8b55a286830323effb)](https://assertible.com/docs/guide/deployments)
|
|
@@ -8,12 +10,19 @@ A curated list of _awesome_ Common Lisp libraries.
|
|
|
|
|
|
For awesome *software*, see [lisp-lang.org's success stories](http://lisp-lang.org/success/) and the [awesome-cl-software](https://github.com/azzamsa/awesome-cl-software) list.
|
|
|
|
|
|
+All libraries listed here are available from [Quicklisp][16] unless
|
|
|
+stated otherwise. The ones marked with a :star: are so widespread and
|
|
|
+solid that they became community standards. You can't be wrong with
|
|
|
+them. This is the case for Quicklisp, BordeauxThreads and
|
|
|
+such. Libraries denoted with a 👍 are the ones we like and want to
|
|
|
+promote here at the Awesome-cl list. They proved solid, they may solve
|
|
|
+a problem better than a community standard but they aren't as
|
|
|
+widespread, or not considered as stable. For example, we prefer
|
|
|
+Spinneret over Cl-Who.
|
|
|
+
|
|
|
Add something new! See the [contributing](#contributing) section for adding something to the
|
|
|
list.
|
|
|
|
|
|
-All libraries listed here are available from [Quicklisp][16] unless
|
|
|
-stated otherwise.
|
|
|
-
|
|
|
This is released under the GNU Free Documentation License - its text
|
|
|
is provided in the LICENSE file. This repository is also mirrored on
|
|
|
[NotABug](https://notabug.org/CodyReichert/awesome-cl) - a **fully-free** (as in libre)
|
|
@@ -26,10 +35,14 @@ sellers who aren't evil for physical resources.
|
|
|
- [Build Systems](#build-systems)
|
|
|
- [Compilers, code generators](#compilers-code-generators)
|
|
|
- [C, C++](#c-c)
|
|
|
- - [Javascript](#javascript)
|
|
|
- [Crypto](#crypto)
|
|
|
- [Cryptocurrencies](#cryptocurrencies)
|
|
|
- [Database](#database)
|
|
|
+ - [ORMs](#orms)
|
|
|
+ - [Persistent object databases](#persistent-object-databases)
|
|
|
+ - [Wrappers](#wrappers)
|
|
|
+ - [To third parties](#to-third-parties)
|
|
|
+ - [Tools](#tools)
|
|
|
- [Data Structures](#data-structures)
|
|
|
- [Foreign Function Interface](#foreign-function-interface)
|
|
|
- [C](#c)
|
|
@@ -42,9 +55,12 @@ sellers who aren't evil for physical resources.
|
|
|
- [GUI](#gui)
|
|
|
- [Implementations](#implementations)
|
|
|
- [JSON](#json)
|
|
|
+- [YAML](#yaml)
|
|
|
- [Language extensions](#language-extensions)
|
|
|
- [CLOS extensions](#clos-extensions)
|
|
|
- [Non-deterministic, logic programming](#non-deterministic-logic-programming)
|
|
|
+ - [Reactive programming](#reactive-programming)
|
|
|
+ - [Contract programming](#contract-programming)
|
|
|
- [Learning and Tutorials](#learning-and-tutorials)
|
|
|
- [Online](#online)
|
|
|
- [Beginner](#beginner)
|
|
@@ -105,7 +121,6 @@ sellers who aren't evil for physical resources.
|
|
|
- [Logging](#logging)
|
|
|
- [Markdown](#markdown)
|
|
|
- [Plotting](#plotting)
|
|
|
- - [Text Processing](#text-processing)
|
|
|
- [Other](#other)
|
|
|
- [XML](#xml)
|
|
|
- [Contributing](#contributing)
|
|
@@ -116,7 +131,7 @@ sellers who aren't evil for physical resources.
|
|
|
Build Systems
|
|
|
=============
|
|
|
|
|
|
-* [ASDF](https://common-lisp.net/project/asdf/) - Another System Definition Facility; a build system for Common Lisp. [Expat][14].
|
|
|
+* :star: [ASDF](https://common-lisp.net/project/asdf/) - Another System Definition Facility; a build system for Common Lisp. [Expat][14].
|
|
|
* [asdf-linguist](https://github.com/eudoxia0/asdf-linguist) - Extensions for ASDF. [Expat][14].
|
|
|
* [asdf-viz](https://github.com/guicho271828/asdf-viz) - a tool to visualize the library dependencies of ASDF systems, the call graph of a function and the class inheritances. [LLGPL][8].
|
|
|
|
|
@@ -130,16 +145,12 @@ C, C++
|
|
|
* [C-mera](https://github.com/kiselgra/c-mera) - a source-to-source compiler that utilizes Lisp's macro system for meta programming of C-like languages. [GPL3][2].
|
|
|
* [lispc](https://github.com/eratosthenesia/lispc) - a powerful "lispsy" macrolanguage for C. [MIT][200].
|
|
|
|
|
|
-Javascript
|
|
|
-----------
|
|
|
-
|
|
|
-* [cl-javascript](http://marijnhaverbeke.nl/cl-javascript/) a JavaScript to Common Lisp translator, runtime, and standard library, ES3 compatible, with some ES5 extensions. Allows you to add user scripting to your Common Lisp application. [MIT][200].
|
|
|
|
|
|
Crypto
|
|
|
======
|
|
|
|
|
|
+* :star: [Ironclad](https://github.com/sharplispers/ironclad) - A library of crypto functions for Common Lisp. Not considered secure, but is still useful for the message digest functions. [Expat][14].
|
|
|
* [crypto-shortcuts](https://github.com/Shinmera/crypto-shortcuts) - Collection of common crypto shortcuts. [Artistic License 2.0][51].
|
|
|
-* [Ironclad](https://github.com/sharplispers/ironclad) - A library of crypto functions for Common Lisp. Not considered secure, but is still useful for the message digest functions. [Expat][14].
|
|
|
* [trivial-ssh](https://github.com/eudoxia0/trivial-ssh) - An SSH client library. [Expat][14].
|
|
|
|
|
|
Cryptocurrencies
|
|
@@ -154,36 +165,52 @@ Cryptocurrencies
|
|
|
Database
|
|
|
========
|
|
|
|
|
|
+ORMs
|
|
|
+----
|
|
|
+
|
|
|
+* :star: [clsql](http://www.cliki.net/CLSQL) - An SQL database with a Common Lisp interface. [LLGPL][8].
|
|
|
+* 👍 [mito](https://github.com/fukamachi/mito) - An ORM for Common Lisp with migrations, relationships and PostgreSQL support [LLGPL][8]. [mitho-auth](https://github.com/fukamachi/mito-auth), a mixin class for use authorization; [mito-attachment](https://github.com/fukamachi/mito-attachment), a mixin class for file management outside of RDBMS.
|
|
|
* [cl-dbi](https://github.com/fukamachi/cl-dbi) - A database-independent interface for Common Lisp. [LLGPL][8].
|
|
|
-* [cl-memcached](https://github.com/quasi/cl-memcached) - Fast, thread-safe interface to the Memcached object caching system. [Expat][14].
|
|
|
-* [cl-mongo](https://github.com/fons/cl-mongo) - MongoDB client. [Expat][14].
|
|
|
-* [cl-redis](https://github.com/vseloved/cl-redis) - Redis client. [Expat][14].
|
|
|
-* [cl-disque](https://github.com/CodyReichert/cl-disque) - Disque client. [3-clause BSD][15].
|
|
|
-* [cl-rethinkdb](https://github.com/orthecreedence/cl-rethinkdb) - RethinkDB client. [Expat][14].
|
|
|
-* [cl-sqlite](https://github.com/dmitryvk/cl-sqlite) - Bindings for SQLite. Public domain.
|
|
|
-* [clsql](http://www.cliki.net/CLSQL) - An SQL database with a Common Lisp interface. [LLGPL][8].
|
|
|
-* [clouchdb](https://common-lisp.net/project/clouchdb/) - Library for interacting with CouchDB. [FreeBSD][39].
|
|
|
* [crane](https://github.com/eudoxia0/crane) - Another ORM. [Expat][14].
|
|
|
* [datafly](https://github.com/fukamachi/datafly) - A lightweight database library. [3-clause BSD][15].
|
|
|
-* [mito](https://github.com/fukamachi/mito) - An ORM for Common Lisp with migrations, relationships and PostgreSQL support [LLGPL][8]. [mitho-auth](https://github.com/fukamachi/mito-auth), a mixin class for use authorization; [mito-attachment](https://github.com/fukamachi/mito-attachment), a mixin class for file management outside of RDBMS.
|
|
|
-* [postmodern](http://marijnhaverbeke.nl/postmodern/) - A library for interacting with PostgreSQL. [zlib][33].
|
|
|
-* [pgloader](https://github.com/dimitri/pgloader) - a data loading tool for PostgreSQL. [PostgreSQL Licence][205].
|
|
|
* [sxql](https://github.com/fukamachi/sxql) - A DSL for generating SQL. [3-clause BSD][15].
|
|
|
+
|
|
|
+Persistent object databases
|
|
|
+---------------------------
|
|
|
+
|
|
|
* [bknr.datastore](https://github.com/hanshuebner/bknr-datastore) - a CLOS-based lisp-only database in RAM with transaction logging persistence. [licence](http://bknr.net/html/license.html). (see also chap. 21 of "Common Lisp Recipes")
|
|
|
* [elephant](https://common-lisp.net/project/elephant/) - Elephant is a persistent object database for Common Lisp with full transaction semantics. [LLGPL][8].
|
|
|
* [ubiquitous](https://github.com/Shinmera/ubiquitous) - A library providing easy-to-use persistent configuration storage. [Artistic License 2.0][51].
|
|
|
|
|
|
-To third parties:
|
|
|
+Wrappers
|
|
|
+--------
|
|
|
+
|
|
|
+* :star: [postmodern](http://marijnhaverbeke.nl/postmodern/) - A library for interacting with PostgreSQL. [zlib][33].
|
|
|
+* [cl-sqlite](https://github.com/dmitryvk/cl-sqlite) - Bindings for SQLite. Public domain.
|
|
|
+* [cl-memcached](https://github.com/quasi/cl-memcached) - Fast, thread-safe interface to the Memcached object caching system. [Expat][14].
|
|
|
+* [cl-mongo](https://github.com/fons/cl-mongo) - MongoDB client. [Expat][14].
|
|
|
+* [cl-redis](https://github.com/vseloved/cl-redis) - Redis client. [Expat][14].
|
|
|
+* [cl-disque](https://github.com/CodyReichert/cl-disque) - Disque client. [3-clause BSD][15].
|
|
|
+* [cl-rethinkdb](https://github.com/orthecreedence/cl-rethinkdb) - RethinkDB client. [Expat][14].
|
|
|
+* [clouchdb](https://common-lisp.net/project/clouchdb/) - Library for interacting with CouchDB. [FreeBSD][39].
|
|
|
+
|
|
|
+To third parties
|
|
|
+----------------
|
|
|
|
|
|
* [dyna](https://github.com/Rudolph-Miller/dyna) - an AWS DynamoDB ORM. [MIT][200].
|
|
|
* [cl-influxdb](https://github.com/mmaul/cl-influxdb/) - an interface to the Time Series Database InfluxDB. [MIT][200].
|
|
|
|
|
|
+Tools
|
|
|
+-----
|
|
|
+
|
|
|
+* [pgloader](https://github.com/dimitri/pgloader) - a data loading tool for PostgreSQL. [PostgreSQL Licence][205].
|
|
|
+
|
|
|
|
|
|
Data Structures
|
|
|
===============
|
|
|
|
|
|
+* 👍 [FSet](http://quickdocs.org/fset/) - A functional, set-theoretic collections data structure library. [LLGPL][8].
|
|
|
* [bst](https://github.com/glv2/bst) - Binary Search Tree. [GPL3][2]. Not in Quicklisp.
|
|
|
-* [FSet](http://quickdocs.org/fset/) - A functional, set-theoretic collections data structure library. [LLGPL][8].
|
|
|
* [pileup](http://nikodemus.github.io/pileup/) - a portable, performant, and thread-safe binary heap for Common Lisp. [MIT][200].
|
|
|
* [sycamore](https://github.com/ndantam/sycamore) - a fast, purely functional data structure library. [BSD_3Clause][15].
|
|
|
|
|
@@ -195,8 +222,8 @@ Foreign Function Interface
|
|
|
|
|
|
## C ##
|
|
|
|
|
|
-* [CFFI](https://github.com/cffi/cffi) - Portable, easy-to-use C foreign function interface. [Expat][14].
|
|
|
-* [cl-autowrap](https://github.com/rpav/cl-autowrap) - Automatically parses header files into CFFI definitions. [FreeBSD][39].
|
|
|
+* :star: [CFFI](https://github.com/cffi/cffi) - Portable, easy-to-use C foreign function interface. [Expat][14].
|
|
|
+* 👍[cl-autowrap](https://github.com/rpav/cl-autowrap) - Automatically parses header files into CFFI definitions. [FreeBSD][39].
|
|
|
|
|
|
## Java ##
|
|
|
|
|
@@ -234,6 +261,8 @@ Graphics
|
|
|
|
|
|
These are libraries for working with graphics, rather than making GUIs (i.e. widget toolkits), which have their own section.
|
|
|
|
|
|
+* :star: [Sketch](https://github.com/vydd/sketch) - A CL framework for the creation of electronic art, graphics, and lots more. [MIT][200].
|
|
|
+* [common-cv](https://github.com/byulparan/common-cv) - the OpenCV (Open Source Computer Vision Library) binding library for CommonLisp. No license specified.
|
|
|
* [cl-cairo2](https://github.com/rpav/cl-cairo2) - Cairo bindings. [Boost 1.0][54]
|
|
|
* [cl-gd](http://weitz.de/cl-gd/) - A library providing an interface to the GD graphics library. [FreeBSD][39].
|
|
|
* [cl-horde3d](https://github.com/anwyn/cl-horde3d/) - FFI bindings to the Horde3D graphics library. Not available on Quicklisp. [EPL 1.0][59]
|
|
@@ -244,43 +273,48 @@ These are libraries for working with graphics, rather than making GUIs (i.e. wid
|
|
|
* [donuts](https://github.com/tkych/donuts) - Graph drawing DSL for Common Lisp. [Expat][14].
|
|
|
* [dufy](https://github.com/privet-kitty/dufy) - exact color manipulation and conversion in various color models. [MIT][200].
|
|
|
* [lispbuilder-sdl](https://github.com/lispbuilder/lispbuilder) - A set of bindings for SDL. [Expat][14].
|
|
|
-* [l-lisp](http://www.ii.uib.no/~knute/lsystems/llisp.html) - A framework for generating and simulating plants and fractals. [GNU GPL2][208].
|
|
|
-* [okra](https://github.com/aerique/okra) - CFFI bindings to Ogre. Not available on Quicklisp. [3-clause BSD][15].
|
|
|
+* [lisp-magick-wand](https://github.com/TBRSS/lisp-magick-wand) - ImageMagick bindings. [BSD][15]. Not in Quicklisp.
|
|
|
+* [okra](https://www.common-lisp.net/project/okra/manual.html) - CFFI bindings to Ogre. Not available on Quicklisp. [3-clause BSD][15].
|
|
|
* [opticl](https://github.com/slyrus/opticl) - a library for representing and processing images. [BSD_2Clause][17].
|
|
|
* [Varjo](https://github.com/cbaggers/varjo) - Lisp to GLSL translator. [BSD_2Clause][17].
|
|
|
* [Vecto](http://www.xach.com/lisp/vecto/) - Simple vector drawing library. [FreeBSD][39].
|
|
|
* [zpng](http://www.xach.com/lisp/zpng/) - A library for creating PNG files. [FreeBSD][39].
|
|
|
-* [Sketch](https://github.com/vydd/sketch) - A CL framework for the creation of electronic art, graphics, and lots more. [MIT][200].
|
|
|
+
|
|
|
|
|
|
GUI
|
|
|
===
|
|
|
|
|
|
+* 👍 [Qtools](https://github.com/Shinmera/qtools/) - A Qt toolkit, based on CommonQt. [Artistic License 2.0][51]
|
|
|
+* :star: [CommonQt](https://github.com/commonqt/commonqt) - A Common Lisp binding for Qt4 via QtSmoke. [FreeBSD][39].
|
|
|
* [cl-cffi-gtk](http://www.crategus.com/books/cl-cffi-gtk/) - Binding for GTK+3. [GNU LGPL2.1][11].
|
|
|
* [cl-gtk2](https://github.com/dmitryvk/cl-gtk2) - A binding for GTK+2. [LLGPL][8].
|
|
|
* [cl-xul](https://github.com/mmontone/cl-xul) - Mozilla XUL bindings. [Expat][14].
|
|
|
-* [CommonQt](https://github.com/commonqt/commonqt) - A Common Lisp binding for Qt4 via QtSmoke. [FreeBSD][39].
|
|
|
-* [Qtools](https://github.com/Shinmera/qtools/) - A Qt toolkit, based on CommonQt. [Artistic License 2.0][51]
|
|
|
* [ltk](http://www.peter-herth.de/ltk/) - A binding for the Tk toolkit. [LLGPL][8] or [GNU LGPL2.1][11].
|
|
|
* [ceramic](https://ceramic.github.io/) - Desktop web apps with Electron. [Expat][14].
|
|
|
* [CocoaInterface](https://github.com/plkrueger/CocoaInterface/) -
|
|
|
Cocoa interface for Clozure Common Lisp. Build Cocoa user interface
|
|
|
windows dynamically using Lisp code and bypass the typical Xcode
|
|
|
processes. It has
|
|
|
-[good documentation and a tutorial](blob/master/Documentation/UserInterfaceTutorial.pdf).
|
|
|
+[good documentation and a tutorial](https://github.com/plkrueger/CocoaInterface/blob/master/Documentation/UserInterfaceTutorial.pdf).
|
|
|
* [McCLIM](https://common-lisp.net/project/mcclim/) - An implementation of the Common Lisp Interface Manager, version II. [GNU LGPL2.1][11].
|
|
|
* [cl-webkit](https://github.com/joachifm/cl-webkit) - A binding to WebKitGTK+. Also adds web browsing capabilities to an application, leveraging the full power of the WebKit browsing engine. [MIT][200].
|
|
|
+* [ftw](https://github.com/fjames86/ftw) - A Win32 GUI library. [MIT][200].
|
|
|
|
|
|
Implementations
|
|
|
===============
|
|
|
|
|
|
+* :star: [SBCL](http://www.sbcl.org/index.html) - A fork of CMUCL; compiles to machine code. [Standard compliance][13]. Public domain, with some parts under [Expat][14] and [3-clause BSD][15].
|
|
|
+* :star: [CCL](//ccl.clozure.com/) - Clozure Common Lisp; compiler-only implementation, generates native code. [LLGPL][8].
|
|
|
+* [ECL](https://common-lisp.net/project/ecl/) - Embeddable Common Lisp; compiles to C. [GNU LGPL2.1][11].
|
|
|
* [ABCL](https://common-lisp.net/project/armedbear/) - Armed Bear Common Lisp; targets the JVM, compiles to bytecode. [Standard conformance][4]. [GNU GPL3][2] with [Classpath exception][3].
|
|
|
-* [CCL](//ccl.clozure.com/) - Clozure Common Lisp; compiler-only implementation, generates native code. [LLGPL][8].
|
|
|
-* [CLASP](https://github.com/drmeister/clasp) - a new Common Lisp implementation that seamlessly interoperates with C++ libraries and programs using LLVM for compilation to native code. This allows Clasp to take advantage of a vast array of preexisting libraries and programs, such as out of the scientific computing ecosystem. [LGPL2.1][11] (and others).
|
|
|
* [CMUCL](//www.cons.org/cmucl/) - An implementation from Carnegie Mellon University. Public domain.
|
|
|
-* [ECL](https://common-lisp.net/project/ecl/) - Embeddable Common Lisp; compiles to C. [GNU LGPL2.1][11].
|
|
|
-* [GCL](https://www.gnu.org/software/gcl/) - Another GNU implementation; not yet fully ANSI-compliant. [GNU LGPL2.1][11].
|
|
|
-* [GNU CLISP](//www.clisp.org/) - A GNU implementation; contains a compiler and an interpreter. [Standard conformance][6]. [GNU GPL3][2].
|
|
|
-* [SBCL](http://www.sbcl.org/index.html) - A fork of CMUCL; compiles to machine code. [Standard compliance][13]. Public domain, with some parts under [Expat][14] and [3-clause BSD][15].
|
|
|
+* [GNU CLISP](http://www.clisp.org/) - A GNU implementation; contains a compiler and an interpreter. [Standard conformance][6]. [GNU GPL3][2].
|
|
|
+* [CLASP](https://github.com/drmeister/clasp) - a new Common Lisp implementation that seamlessly interoperates with C++ libraries and programs using LLVM for compilation to native code. This allows Clasp to take advantage of a vast array of preexisting libraries and programs, such as out of the scientific computing ecosystem. [LGPL2.1][11] (and others).
|
|
|
+
|
|
|
+Proprietary:
|
|
|
+
|
|
|
+* [Lispworks](http://www.lispworks.com/) - an integrated cross-platform development tool for Common Lisp.
|
|
|
+* [Allegro CL](https://franz.com/products/allegro-common-lisp/) - provides the full ANSI Common Lisp standard with many extensions.
|
|
|
|
|
|
JSON
|
|
|
====
|
|
@@ -289,29 +323,37 @@ JSON
|
|
|
* [jsown](https://github.com/madnificent/jsown) - A reader and writer for the JSON format. [Expat][14].
|
|
|
* [json-mop](https://github.com/gschjetne/json-mop) - A metaclass for bridging CLOS and JSON objects. [MIT][200].
|
|
|
|
|
|
+See also this [extensive comparison](https://sites.google.com/site/sabraonthehill/home/json-libraries) of JSON libraries.
|
|
|
+
|
|
|
+YAML
|
|
|
+====
|
|
|
+
|
|
|
+* [cl-yacclyaml](https://github.com/mabragor/cl-yaclyaml) - a pure lisp YAML processor (loader, but not yet dumper). [GPL3][2].
|
|
|
+* [cl-yaml](https://github.com/eudoxia0/cl-yaml.git) - a YAML parser and emitter built on top of libyaml. [MIT][200].
|
|
|
+
|
|
|
|
|
|
Language extensions
|
|
|
===================
|
|
|
|
|
|
* [cl21](https://github.com/cl21/cl21) - An experimental project to move Common Lisp into the 21st century. [Expat][14].
|
|
|
-* [alexandria](https://common-lisp.net/project/alexandria/) - A general-purpose utility library. Public domain.
|
|
|
+* :star: [alexandria](https://common-lisp.net/project/alexandria/) - A general-purpose utility library. Public domain.
|
|
|
* [serapeum](https://github.com/TBRSS/serapeum/) - Another general-purpose utility library. [Expat][14].
|
|
|
* [anaphora](https://common-lisp.net/project/anaphora/) - A collection of anaphoric macros. Public domain.
|
|
|
* [cl-algebraic-data-type](https://github.com/tarballs-are-good/cl-algebraic-data-type) - A library for defining algebraic data types in a similar spirit to Haskell or ML. [3-clause BSD][15].
|
|
|
* [iterate](https://common-lisp.net/project/iterate/) - An iteration construct for Common Lisp which is extensible and Lispier. No license specified.
|
|
|
-* [for](shinmera.github.io/for/) - A concise, lispy and extensible
|
|
|
+* [for](https://shinmera.github.io/for/) - A concise, lispy and extensible
|
|
|
iteration macro. Unlike loop it is extensible and sensible, and
|
|
|
unlike iterate it does not require code-walking and is easier to
|
|
|
extend. [Artistic License 2.0][51].
|
|
|
* [series](https://github.com/tokenrove/series/wiki) - Functional style without any runtime penalty at all. [MIT][200].
|
|
|
-* [optima](https://github.com/m2ym/optima) - Optimized pattern-matching library. [LLGPL][8].
|
|
|
+* :star: [optima](https://github.com/m2ym/optima) - Optimized pattern-matching library. [LLGPL][8].
|
|
|
* [str](https://github.com/vindarel/cl-str) - a modern, simple and consistent string manipulation library. [MIT][200].
|
|
|
* [trivial-types](https://github.com/m2ym/trivial-types) - Trivial type definitions. [LLGPL][8].
|
|
|
* [interface](https://bitbucket.org/tarballs_are_good/interface) - A protocol library. [3-clause BSD][15].
|
|
|
* [cl-syntax](https://github.com/m2ym/cl-syntax) - Reader syntax conventions. [LLGPL][8].
|
|
|
* [cl-2dsyntax](http://www.cliki.net/cl-2dsyntax) - An indentation-sensitive reader system. Not available on Quicklisp. No license specified.
|
|
|
* [cl-annot](https://github.com/m2ym/cl-annot) - Python-like annotations for Common Lisp. [LLGPL][8].
|
|
|
-* [cl-interpol](http://www.cliki.net/cl-interpol) - A set of reader modifications to allow string interpolation. No license specified.
|
|
|
+* :star: [cl-interpol](http://www.cliki.net/cl-interpol) - A set of reader modifications to allow string interpolation. No license specified.
|
|
|
* [arrow-macros](https://github.com/hipeta/arrow-macros) - Clojure-like threading macros. [MIT][200].
|
|
|
* [dissect](https://shinmera.github.io/dissect) - when a lot of
|
|
|
projects use the “trivial-backtrace” system that just gives them a
|
|
@@ -321,13 +363,15 @@ Language extensions
|
|
|
where execution is automatically continued, but the information of
|
|
|
the current stack is still useful to store
|
|
|
somewhere. [Artistic License 2.0][51].
|
|
|
+* [clamp](https://github.com/malisper/Clamp) - Arc language's brevity and conciseness to Common Lisp. [Artistic License 2.0][51].
|
|
|
+* [trivial-arguments](https://github.com/Shinmera/trivial-arguments) -
|
|
|
+ A portable library to retrieve the arguments list of a function. [Artistic License 2.0][51].
|
|
|
|
|
|
|
|
|
CLOS extensions
|
|
|
---------------
|
|
|
|
|
|
-* [Cells](https://github.com/kennytilton/cells) - "an implementation of the dataflow programming paradigm", or "reactive spreadsheet-like expressiveness for CLOS". Used to build an [algebra learning system](http://tiltontec.com/). With [documentation](https://github.com/stefano/cells-doc/). Lisp LGPL.
|
|
|
-* [closer-mop](http://cliki.net/closer-mop) - A compatibility layer that rectifies many absent or incorrect MOP features. [Expat][14].
|
|
|
+* :star: [closer-mop](http://cliki.net/closer-mop) - A compatibility layer that rectifies many absent or incorrect MOP features. [Expat][14].
|
|
|
* [defclass-std](https://github.com/EuAndreh/defclass-std) - a shortcut macro to write DEFCLASS forms quickly. [LLGPL][8].
|
|
|
|
|
|
|
|
@@ -338,12 +382,22 @@ Non-deterministic, logic programming
|
|
|
* [Screamer](https://github.com/nikodemus/screamer) - augment Common
|
|
|
Lisp with practically all of the functionality of both Prolog and
|
|
|
constraint logic programming
|
|
|
- languages. [MIT][200]. [Screamer+](https://github.com/ysz/screamer-plus) -
|
|
|
- increasing the expressiveness of
|
|
|
- SCREAMER. [Blog post](https://chriskohlhepp.wordpress.com/reasoning-systems/specification-driven-programming-in-common-lisp/)
|
|
|
- solving Project Euler puzzles.
|
|
|
+ languages. [Blog post](https://chriskohlhepp.wordpress.com/reasoning-systems/specification-driven-programming-in-common-lisp/)
|
|
|
+ solving Project Euler puzzles. [MIT][200].
|
|
|
+* [Screamer+](https://github.com/yakovzaytsev/screamer-plus) - increasing the expressiveness of SCREAMER. [MIT][200].
|
|
|
* [Temperance](https://sjl.bitbucket.io/temperance/) - logic programming. [MIT][200]. A focus on performance, with General Game Playing in mind.
|
|
|
|
|
|
+Reactive programming
|
|
|
+--------------------
|
|
|
+
|
|
|
+* [Cells](https://github.com/kennytilton/cells) - an implementation of the dataflow programming paradigm, reactive spreadsheet-like expressiveness for CLOS. Used to build an [algebra learning system](http://tiltontec.com/). With [documentation](https://github.com/stefano/cells-doc/). Lisp LGPL.
|
|
|
+
|
|
|
+Contract programming
|
|
|
+--------------------
|
|
|
+
|
|
|
+* [quid-pro-quo](https://github.com/sellout/quid-pro-quo) - a contract
|
|
|
+ programming library in the style of Eiffel’s Design by Contract ™. Public domain.
|
|
|
+
|
|
|
|
|
|
Learning and Tutorials
|
|
|
=====================
|
|
@@ -353,11 +407,11 @@ Learning and Tutorials
|
|
|
Beginner
|
|
|
--------
|
|
|
|
|
|
-* [Learn X in Y minutes | Where X = Common Lisp](https://learnxinyminutes.com/docs/common-lisp/) - Small Common Lisp tutorial covering the essentials.
|
|
|
+* [Learn X in Y minutes - Where X = Common Lisp](https://learnxinyminutes.com/docs/common-lisp/) - Small Common Lisp tutorial covering the essentials.
|
|
|
* [Practical Common Lisp][206] - A good introductory text to Common Lisp, with practical examples.
|
|
|
* [Common LISP: A Gentle Introduction to Symbolic Computation](http://www.cs.cmu.edu/afs/cs.cmu.edu/user/dst/www/LispBook/index.html) - A nice introduction into the language.
|
|
|
* [Learn LISP: Simply Easy Learning](http://www.tutorialspoint.com/lisp/index.htm) - A good set of introductory tutorials; includes interactive examples.
|
|
|
-* [Successful Lisp](https://www.psg.com/~dlamkins/sl/cover.html) - A good book for beginners with some programming background.
|
|
|
+* [Successful Lisp](http://successful-lisp.blogspot.com/) - A good book for beginners with some programming background.
|
|
|
* [Common Lisp Koans][201] - The project guides the learner progressively through many Common Lisp language features.
|
|
|
* [Lisp Quickstart](https://cs.gmu.edu/~sean/lisp/LispTutorial.html) - A good tutorial to get up and code Common Lisp quickly.
|
|
|
* [Casting SPELs in LISP](http://www.lisperati.com/casting.html) - A fun way to learn LISP while reading a comic book.
|
|
@@ -413,15 +467,15 @@ Advanced
|
|
|
Library Manager
|
|
|
===============
|
|
|
|
|
|
-* [Roswell](https://github.com/roswell/roswell) - a Lisp implementation installer, script launcher and more. [MIT][200].
|
|
|
+* :star: [Quicklisp][16] - A library manager containing many libraries, with easy depencency management. [Expat][14].
|
|
|
+* 👍[Roswell](https://github.com/roswell/roswell) - a Lisp implementation installer, script launcher and more. [MIT][200].
|
|
|
* [qlot](https://github.com/fukamachi/qlot) - A project-local library installer, similar to Bundler or Carton. [Expat][14].
|
|
|
-* [Quicklisp][16] - A library manager containing many libraries, with easy depencency management. [Expat][14].
|
|
|
* [Quickutil](https://github.com/tarballs-are-good/quickutil) - A utility manager, similar to Quicklisp, but for small utilities rather than whole libraries. [3-clause BSD][15].
|
|
|
* [Qi](https://github.com/CodyReichert/qi) - A package manager with a traditionnal approach. [BSD][15].
|
|
|
|
|
|
might help:
|
|
|
|
|
|
-* [print-licenses](https://github.com/vindarel/print-licenses) - print licenses used by a project and its dependencies. Not in Quicklips. [MIT][200].
|
|
|
+* [print-licenses](https://github.com/vindarel/print-licenses) - print licenses used by a project and its dependencies. [MIT][200].
|
|
|
|
|
|
### Interfaces to other package managers
|
|
|
|
|
@@ -453,12 +507,12 @@ See [Cliki](http://www.cliki.net/Web) for more.
|
|
|
|
|
|
HTTP clients
|
|
|
------------
|
|
|
-* [Dexador](https://github.com/fukamachi/dexador) - An HTTP client, that aims at [replacing Drakma](http://quickdocs.org/dexador/). [MIT][200].
|
|
|
+* 👍 [Dexador](https://github.com/fukamachi/dexador) - An HTTP client, that aims at [replacing Drakma](http://quickdocs.org/dexador/). [MIT][200].
|
|
|
|
|
|
HTTP Servers
|
|
|
------------
|
|
|
-* [Clack](https://github.com/fukamachi/clack) - A web application environment inspired by Rack and WSGI. [LLGPL][8]. Provides a unified interface to a webserver of choice (default is Hunchentoot).
|
|
|
-* [Hunchentoot](http://weitz.de/hunchentoot/) - A web server. [2-clause BSD][207]
|
|
|
+* 👍[Clack](https://github.com/fukamachi/clack) - A web application environment inspired by Rack and WSGI. [LLGPL][8]. Provides a unified interface to a webserver of choice (default is Hunchentoot).
|
|
|
+* :star: [Hunchentoot](http://weitz.de/hunchentoot/) - A web server. [2-clause BSD][207]
|
|
|
* [aserve](https://github.com/franzinc/aserve) - AllegroServe; a web server. [LLGPL][8].
|
|
|
* [wookie](https://github.com/orthecreedence/wookie) - Asynchronous HTTP server. [Expat][14].
|
|
|
* [woo](https://github.com/fukamachi/woo) - A fast non-blocking HTTP server on top of libev. [MIT][200].
|
|
@@ -473,9 +527,11 @@ HTTP Servers
|
|
|
* [clack-pretend](https://github.com/BnMcGn/clack-pretend) - a testing
|
|
|
and debugging tool for clack. [Apache2.0][89].
|
|
|
* [hermetic](https://github.com/eudoxia0/hermetic) - Security for Clack-based web applications. [Expat][14].
|
|
|
+* [live-reload](https://github.com/knobo/live-reload) - Live reload prototype for clack. [LLGPL][8].
|
|
|
|
|
|
Web frameworks
|
|
|
--------------
|
|
|
+
|
|
|
* [Caveman](https://github.com/fukamachi/caveman) - A powerful web framework. [LLGPL][8].
|
|
|
Example projects: [Quickdocs](https://github.com/quickdocs)
|
|
|
* [hh-web](https://github.com/hargettp/hh-web) - Framework for building modern web apps. [Expat][14].
|
|
@@ -483,6 +539,7 @@ Web frameworks
|
|
|
* [radiance](https://github.com/Shirakumo/radiance) - An extensible framework library and multi-application CMS. [Artistic License 2.0][51].
|
|
|
* [Lucerne](https://github.com/eudoxia0/lucerne) - A minimal web framework built on Clack, inspired by Flask. [MIT][200].
|
|
|
* [Snooze](https://github.com/joaotavora/snooze) - A RESTful web framework, built on Clack, where routes are just functions and HTTP conditions are just Lisp conditions. [LLGPL][8].
|
|
|
+* [cl-rest-server](https://github.com/mmontone/cl-rest-server) - a library for writing REST web APIs. Features validation with schemas, annotations for logging, caching, permissions or authentication, documentation via Swagger, etc. [MIT][200].
|
|
|
|
|
|
There are more projects, more or less discontinued but interesting. See the other ressources.
|
|
|
|
|
@@ -497,23 +554,26 @@ Assets management
|
|
|
|
|
|
Parsing html
|
|
|
------------
|
|
|
+* 👍 [Plump][71] - A lenient HTTP/XML parser, tolerand on malformed markup. [Artistic License 2.0][51]. Best used with [lquery][72] and [clss](https://github.com/Shinmera/CLSS).
|
|
|
* [http-parse](https://github.com/orthecreedence/http-parse) - An HTTP parser in Common Lisp. [Expat][14].
|
|
|
-* [Plump][71] - A lenient HTTP/XML parser, tolerand on malformed markup. [Artistic License 2.0][51]. Best used with [lquery][72] and [clss](https://github.com/Shinmera/CLSS).
|
|
|
|
|
|
Querying HTML/DOM
|
|
|
-----------------
|
|
|
-* [lquery][72] - A jQuery-like HTML/DOM manipulation library. [Artistic License 2.0][51].
|
|
|
+* 👍 [lquery][72] - A jQuery-like HTML/DOM manipulation library. [Artistic License 2.0][51].
|
|
|
|
|
|
See also XML below.
|
|
|
|
|
|
|
|
|
HTML generators and templates
|
|
|
-----------------------------
|
|
|
-* [cl-who](http://weitz.de/cl-who/) - An HTML generator. [FreeBSD][39].
|
|
|
-* [spinneret](https://github.com/ruricolist/spinneret) - Common Lisp HTML5 generator. [Expat][14].
|
|
|
+* 👍 [spinneret](https://github.com/ruricolist/spinneret) - Common Lisp HTML5 generator. [Expat][14].
|
|
|
+* [flute](https://github.com/ailisp/flute) - An easily composable HTML5 generation library with the
|
|
|
+ most simplistic syntax. [MIT][200].
|
|
|
+* :star: [cl-who](http://weitz.de/cl-who/) - The venerable HTML generator. [FreeBSD][39].
|
|
|
+* :star: [Djula](https://github.com/mmontone/djula) - A port of Django's template engine to Common Lisp. [Expat][14].
|
|
|
* [cl-markup](https://github.com/arielnetworks/cl-markup) - Modern markup generation library. [LLGPL][8].
|
|
|
-* [Djula](https://github.com/mmontone/djula) - A port of Django's template engine to Common Lisp. [Expat][14].
|
|
|
* [eco](https://github.com/eudoxia0/eco) - Fast, flexible, designer-friendly template engine. [Expat][14].
|
|
|
+* [cl-closure-template](https://github.com/archimag/cl-closure-template) - Implementation of Google's Closure templates. [LLGPL][8].
|
|
|
|
|
|
URI handling
|
|
|
------------
|
|
@@ -527,17 +587,18 @@ URI handling
|
|
|
Javascript
|
|
|
----------
|
|
|
|
|
|
-* [Parenscript](https://github.com/vsedach/Parenscript) - A translator from Common Lisp to Javascript. [3-clause BSD][15]. See [Trident-mode](https://github.com/johnmastro/trident-mode.el), an Emacs mode that provides live interaction with the browser.[unlicence][5].
|
|
|
+* :star: [Parenscript](https://github.com/vsedach/Parenscript) - A translator from Common Lisp to Javascript. [3-clause BSD][15]. See [Trident-mode](https://github.com/johnmastro/trident-mode.el), an Emacs mode that provides live interaction with the browser.[unlicence][5].
|
|
|
* [parse-js](http://marijnhaverbeke.nl/parse-js/) - A package for parsing ECMAScript 3. [zlib][33].
|
|
|
* [JSCL](https://github.com/jscl-project/jscl) - A CL-to-JS compiler designed to be self-hosting from day one. Lacks CLOS, format and loop.
|
|
|
* [CL-JavaScript](http://marijnhaverbeke.nl/cl-javascript/) - A translator from Javascript to Common Lisp. Not available on Quicklisp. [Expat][14].
|
|
|
-* [Wuwei](https://github.com/mtravers/wuwei/) - A toolkit to build Ajax-based web pages. [MIT][200]. See also [this fork](https://github.com/fare-patches/wuwei) for [these improvements](https://github.com/mtravers/wuwei/pull/16).
|
|
|
+* [Wuwei](https://github.com/mtravers/wuwei/) - A toolkit to build Ajax-based web pages. [MIT][200].
|
|
|
* [SmackJack](https://github.com/aarvid/SmackJack) - An Ajax Common Lisp Library using parenscript to generate javascript and hunchentoot (for now) as the web server. Also allows a server-side lisp function to call a client-side parenscript one. [MIT][200].
|
|
|
* [Panic](https://github.com/michaeljforster/panic), a Parenscript library for React. Not in Quicklisp. [MIT][200]. Its [TodoMVC example](https://github.com/40ants/todomvc/blob/common-lisp-example/examples/common-lisp-react/src/app.lisp).
|
|
|
|
|
|
Websockets
|
|
|
----------
|
|
|
|
|
|
+* 👍 [usocket](https://github.com/usocket/usocket) - A portable TCP and UDP socket interface. [Expat][14].
|
|
|
* [websocket-driver](https://github.com/fukamachi/websocket-driver) - a WebSocket server/client implementation, backend agnostic (Clack). [3-clause BSD][15].
|
|
|
|
|
|
See more [on cliki](http://www.cliki.net/site/search?query=websockets).
|
|
@@ -560,38 +621,42 @@ Third-party APIs
|
|
|
----------------
|
|
|
|
|
|
* [Aws-sign4](https://github.com/rotatef/aws-sign4) - Common Lisp library for Amazon Web Services signing version 4. [GNU GPL3][2].
|
|
|
+* [zs3](https://github.com/xach/zs3) - A library for working with Amazon's Simple Storage
|
|
|
+Service (S3) and CloudFront service. [BSD][15].
|
|
|
+* [cl-ses](https://github.com/CodyReichert/cl-ses/) - Library for AWS SES. [Expat][14].
|
|
|
* [north](https://shinmera.github.io/north) - The successor to the
|
|
|
South (Simple OaUTH) library, implementing the full oAuth 1.0a
|
|
|
protocol, both client and server sides. Using North you can easily
|
|
|
become an oAuth provider or consumer. [Artistic License 2.0][51].
|
|
|
* [avatar-api](https://github.com/eudoxia0/avatar-api) - Get avatars from Google+, Gravatar and others. [Expat][14].
|
|
|
* [chirp](https://github.com/Shinmera/chirp) - A Twitter client library. [Artistic License 2.0][51].
|
|
|
+* [tooter](https://github.com/Shinmera/tooter) - a client library implementing the full v1 REST API protocol for Mastodon. [ArtisticLicense2.0][51].
|
|
|
* [cl-irc](https://www.common-lisp.net/project/cl-irc/) - An IRC client library. [Expat][14].
|
|
|
* [cl-mediawiki](https://github.com/AccelerationNet/cl-mediawiki) - a wrapper around the MediaWiki api. [MIT][200].
|
|
|
-* [cl-openid](https://common-lisp.net/project/cl-openid/darcs/cl-openid/) - An implementation of OpenID. [LLGPL][8].
|
|
|
+* [cl-openid](https://github.com/cl-openid/cl-openid) - An implementation of OpenID. [LLGPL][8].
|
|
|
* [cl-pushover](https://github.com/TeMPOraL/cl-pushover) - Common Lisp bindings to Pushover. [MIT][200].
|
|
|
-* [cl-ses](https://github.com/CodyReichert/cl-ses/) - Library for AWS SES. [Expat][14].
|
|
|
* [humbler](https://github.com/Shinmera/humbler) - A Tumblr API interface. [Artistic License 2.0][51].
|
|
|
|
|
|
+See also [multiposter](https://github.com/Shinmera/multiposter) to
|
|
|
+post to multiple services simultaneously.
|
|
|
+
|
|
|
Others
|
|
|
------
|
|
|
|
|
|
-* [cl-closure-template](https://github.com/archimag/cl-closure-template) - Implementation of Google's Closure templates. [LLGPL][8].
|
|
|
* [colleen](https://github.com/Shinmera/colleen) - IRC bot with a modular framework. [Artistic License 2.0][51].
|
|
|
* [css-lite](https://github.com/paddymul/css-lite) - A CSS grammar. [Expat][14].
|
|
|
* [find-port](https://github.com/eudoxia0/find-port) - Programmatically find open ports. [MIT][200].
|
|
|
-* [Cl-forms](https://github.com/mmontone/cl-forms) - Web forms handling library for Common lisp. [MIT][200].
|
|
|
+* [cl-forms](https://github.com/mmontone/cl-forms) - Web forms handling library for Common lisp. [MIT][200].
|
|
|
* [Postmaster](https://github.com/eudoxia0/postmaster) - A simple, easy-to-use SMTP/IMAP library. [Expat][14].
|
|
|
* [cl-selenium-webdriver](https://github.com/TatriX/cl-selenium-webdriver/) - a binding library to Selenium 2.0.
|
|
|
-* [usocket](https://github.com/usocket/usocket) - A portable TCP and UDP socket interface. [Expat][14].
|
|
|
|
|
|
Numerical and Scientific
|
|
|
========================
|
|
|
|
|
|
+* [magicl](https://github.com/rigetticomputing/magicl) - Matrix Algebra proGrams In Common Lisp based on BLAS/LAPACK and Expokit, by Rigetti Computing. [BSD_3Clause][15].
|
|
|
* [cl-spark](https://github.com/tkych/cl-spark) - Generates sparkline strings for lists of numbers. [Expat][14].
|
|
|
* [GSLL](https://common-lisp.net/project/gsll/) - GNU Scientific Library for Lisp; allows the use of the GSL from Common Lisp. [GNU LGPL2.1][11].
|
|
|
* [common-lisp-stat](https://github.com/blindglobe/common-lisp-stat/) - Common Lisp statistics library. [FreeBSD][39].
|
|
|
-* [magicl](https://github.com/rigetticomputing/magicl) - Matrix Algebra proGrams In Common Lisp based on BLAS/LAPACK and Expokit, by Rigetti Computing. [BSD_3Clause][15].
|
|
|
* [maxima](http://maxima.sourceforge.net/) - Computer algebra system. Not available on Quicklisp. [GNU GPL3][2].
|
|
|
* [lisp-matrix](https://github.com/blindglobe/lisp-matrix) - A matrix package. [FreeBSD][39].
|
|
|
* [3-matrices](https://shinmera.github.io/3d-matrices) - A library implementing
|
|
@@ -605,12 +670,13 @@ Numerical and Scientific
|
|
|
Parallelism and Concurrency
|
|
|
===========================
|
|
|
|
|
|
-* [BordeauxThreads](https://common-lisp.net/project/bordeaux-threads/) - Portable, shared-state concurrency. [Expat][14].
|
|
|
+* :star: [BordeauxThreads](https://common-lisp.net/project/bordeaux-threads/) - Portable, shared-state concurrency. [Expat][14].
|
|
|
+* :star: [lparallel](https://github.com/lmj/lparallel) - A library for parallel programming. [3-clause BSD][15].
|
|
|
+* [lfarm](https://github.com/lmj/lfarm) - distributing work across machines (on top of lparallel and usocket). [BSD_3Clause][15]
|
|
|
* [chanl](https://github.com/zkat/chanl) - Portable, channel-based concurrency. [Expat][14], with parts under [3-clause BSD][15].
|
|
|
* [cl-async](https://github.com/orthecreedence/cl-async) - A library for general-purpose, non-blocking programming. [Expat][14].
|
|
|
* [erlangen](https://github.com/eugeneia/erlangen) - Distributed, asynchronous message passing system for Clozure Common Lisp. [GNU GPL3][2]. See also the [Actors](https://github.com/aarvid/Actors) package for LispWorks ([discussion](https://www.reddit.com/r/Common_Lisp/comments/77vsft/david_mcclains_actors_package_for_lispworks/)) [MIT][200].
|
|
|
* [lesque](https://github.com/fukamachi/lesque) - A clone of Resque. Not available on Quicklisp. [Expat][14].
|
|
|
-* [lparallel](https://github.com/lmj/lparallel) - A library for parallel programming. [3-clause BSD][15].
|
|
|
* [Xecto](https://github.com/pkhuong/Xecto) - A library for regular array parallelism. [3-clause BSD][15].
|
|
|
* [Moira](https://github.com/TBRSS/moira) - Monitor and restart background threads. In-lisp process supervisor. No license specified.
|
|
|
* [simple-tasks](https://github.com/Shinmera/simple-tasks) - A very
|
|
@@ -625,17 +691,18 @@ Job processing
|
|
|
--------------
|
|
|
|
|
|
* [psychiq](https://github.com/fukamachi/psychiq) - redis-based background job processing for Common Lisp applications. Inspired by Ruby's Sidekiq and compatible with its web UI. [LLGPL][8].
|
|
|
+* [clerk](https://github.com/tsikov/clerk) - a cron-like scheduler with sane DSL. [MIT][200].
|
|
|
|
|
|
Regex
|
|
|
=====
|
|
|
|
|
|
-* [cl-ppcre](http://weitz.de/cl-ppcre/) - Portable, Perl-compatible regular expressions. [FreeBSD][39].
|
|
|
+* :star: [cl-ppcre](http://weitz.de/cl-ppcre/) - Portable, Perl-compatible regular expressions. [FreeBSD][39].
|
|
|
|
|
|
|
|
|
Scripting
|
|
|
=========
|
|
|
|
|
|
-* [Roswell](https://github.com/roswell/roswell#scripting-with-roswell) -
|
|
|
+* 👍 [Roswell](https://github.com/roswell/roswell#scripting-with-roswell) -
|
|
|
a lisp installer and scripting environment (helper, launcher,
|
|
|
installer) and more. [MIT][200].
|
|
|
* [Shelly](https://github.com/fukamachi/shelly) - execute Common Lisp
|
|
@@ -647,7 +714,7 @@ Scripting
|
|
|
previously-entered command lines, to recall and reedit them and
|
|
|
perform csh-like history expansion. Emacs and vi editing
|
|
|
modes. [GPL3][2].
|
|
|
-* [Unix-opts](https://github.com/mrkkrp/unix-opts) - a command line
|
|
|
+* 👍 [Unix-opts](https://github.com/mrkkrp/unix-opts) - a command line
|
|
|
options parser with a concise declaration of options. [MIT][200].
|
|
|
* [CLON](https://github.com/didierverna/clon) - Command Line Options
|
|
|
Nuker. [ISC](https://github.com/didierverna/clon/blob/master/LICENSE).
|
|
@@ -663,6 +730,8 @@ Scripting
|
|
|
binaries. Specifically it is geared towards applications with
|
|
|
foreign library dependencies that run some kind of
|
|
|
GUI. [Artistic License 2.0][51].
|
|
|
+* [shcl](https://github.com/bradleyjensen/shcl) - a POSIX-like shell in Common Lisp. [Apache2.0][51].
|
|
|
+* [cl-progress-bar](https://github.com/sirherrbatka/cl-progress-bar/) - progress bars, just like in Quicklisp ! [MIT][200].
|
|
|
|
|
|
|
|
|
Text Editor Resources
|
|
@@ -674,9 +743,9 @@ This contains plugins and other goodies for various text editors.
|
|
|
|
|
|
## Emacs ##
|
|
|
|
|
|
-* [Slime](https://github.com/slime/slime) - Superior Lisp Interaction Mode for Emacs; a full-blown environment for Common Lisp inside of Emacs. Public domain.
|
|
|
-* [Sly](https://github.com/joaotavora/sly) - SLY is a fork of SLIME and contains multiple improvements upon it.
|
|
|
-* [Portacle](https://shinmera.github.io/portacle/) - A portable and multiplatform Common Lisp environment: SBCL, Quicklisp, Emacs, Slime, Git.
|
|
|
+* :star: [Slime](https://github.com/slime/slime) - Superior Lisp Interaction Mode for Emacs; a full-blown environment for Common Lisp inside of Emacs. Public domain.
|
|
|
+* 👍 [Sly](https://github.com/joaotavora/sly) - SLY is a fork of SLIME and contains multiple improvements upon it.
|
|
|
+* 👍 [Portacle](https://shinmera.github.io/portacle/) - A portable and multiplatform Common Lisp environment: SBCL, Quicklisp, Emacs, Slime, Git.
|
|
|
* [cl-devel2](https://hub.docker.com/r/eshamster/cl-devel2/) - a Docker container for Common Lisp development environment. Ships SBCL, CCL, Roswell and Emacs25 with Slime.
|
|
|
|
|
|
## Vim ##
|
|
@@ -738,7 +807,7 @@ These are applications or bits of code that make development in Common Lisp easi
|
|
|
Unit Testing
|
|
|
============
|
|
|
|
|
|
-* [FiveAM](https://github.com/sionescu/fiveam) - Simple regression testing framework. [FreeBSD][39].
|
|
|
+* :star: [FiveAM](https://github.com/sionescu/fiveam) - Simple regression testing framework. [FreeBSD][39].
|
|
|
* [CLUnit](https://github.com/tgutu/clunit) - A unit testing library. [Expat][14].
|
|
|
* [Prove](https://github.com/fukamachi/prove) - Yet another unit testing framework [Expat][14].
|
|
|
* [Parachute](https://github.com/Shinmera/parachute) - An extensible
|
|
@@ -768,13 +837,14 @@ Caching
|
|
|
Configuration
|
|
|
-------------
|
|
|
|
|
|
+* 👍 [py-configparser](https://common-lisp.net/project/py-configparser/) - reads and writes Python's ConfigParser-like configuration files. [MIT][200].
|
|
|
* [envy](https://github.com/fukamachi/envy) - Configuration switcher. [FreeBSD][39].
|
|
|
-* [py-configparser](https://common-lisp.net/project/py-configparser/) - reads and writes Python's ConfigParser-like configuration files. [MIT][200].
|
|
|
|
|
|
CSV
|
|
|
---
|
|
|
|
|
|
* [cl-csv](https://github.com/AccelerationNet/cl-csv) - A library for parsing CSV files. [3-clause BSD][15].
|
|
|
+* [cl-decimals](https://github.com/tlikonen/cl-decimals) - Decimal number parser and formatter. Public domain.
|
|
|
|
|
|
|
|
|
Date and time
|
|
@@ -790,6 +860,7 @@ Data validation
|
|
|
---------------
|
|
|
|
|
|
* [ratify](https://github.com/Shinmera/ratify) - A collection of utilities to ratify, validate and parse inputs. [Artistic License 2.0][51].
|
|
|
+* [clavier](https://github.com/mmontone/clavier) - General purpose validation library for Common Lisp. [MIT][200].
|
|
|
|
|
|
Documentation builders
|
|
|
----------------------
|
|
@@ -807,7 +878,7 @@ Documentation builders
|
|
|
Files and directories
|
|
|
---------------------
|
|
|
|
|
|
-* [uiop](http://quickdocs.org/uiop/) and its `pathname` package
|
|
|
+* :star: [uiop](http://quickdocs.org/uiop/) and its `pathname` package
|
|
|
(replaces [cl-fad](http://weitz.de/cl-fad/)). uiop is part of ASDF3
|
|
|
and as thus is shipped in many implementations. [MIT][200].
|
|
|
* [osicat](https://common-lisp.net/project/osicat/) - A lightweight operating system interface on POSIX-like systems (directory iteration and deletion, environment variables, file permissions, etc) [Expat][14].
|
|
@@ -825,7 +896,10 @@ Git
|
|
|
i18n
|
|
|
----
|
|
|
|
|
|
+* [cl-i18n](https://notabug.org/cage/cl-i18n) - an i18n library. Load translations from GNU gettext text or binary files or from its native format. Localisation helpers of plural forms. [LLGPL][8].
|
|
|
* [cl-locale](https://github.com/fukamachi/cl-locale) - A simple i18n library. [LLGPL][8].
|
|
|
+* [enchant](https://github.com/tlikonen/cl-enchant) - bindings for the Enchant spell-checker library. Public domain.
|
|
|
+* [oxenfurt](https://github.com/Shinmera/oxenfurt) - A client library for the Oxford dictionary API. [ArtisticLicense2.0][51].
|
|
|
|
|
|
Linting
|
|
|
-------
|
|
@@ -837,7 +911,7 @@ Linting
|
|
|
Logging
|
|
|
-------
|
|
|
|
|
|
-* [log4cl](https://github.com/sharplispers/log4cl/) - Logging framework modelled after Log4J. [Apache2.0][89]. Advanced integration with Slime.
|
|
|
+* :star: [log4cl](https://github.com/sharplispers/log4cl/) - Logging framework modelled after Log4J. [Apache2.0][89]. Advanced integration with Slime.
|
|
|
|
|
|
To third parties:
|
|
|
|
|
@@ -869,7 +943,7 @@ This contains anything which doesn't fit into another category.
|
|
|
* [chipz](https://github.com/froydnj/chipz) - A decompression library. [3-clause BSD][15].
|
|
|
* [cl-cuda](https://github.com/takagi/cl-cuda) - A library to use NVIDIA CUDA in Common Lisp programs. [LLGPL][8].
|
|
|
* [corona](https://github.com/eudoxia0/corona) - Create and manage virtual machines from Common Lisp http://eudoxia.me/corona [MIT][200].
|
|
|
-* [esrap](https://github.com/nikodemus/esrap) - Packrat parser. [Expat][14].
|
|
|
+* :star: [esrap](https://github.com/nikodemus/esrap) - Packrat parser. [Expat][14].
|
|
|
* [fast-io](https://github.com/rpav/fast-io) - Fast octet-vector/stream I/O. [3-clause BSD][15].
|
|
|
* [glyphs](https://github.com/ahungry/glyphs/) - A library for cutting down the verboseness of Common Lisp in places. [GNU GPL3][2].
|
|
|
* [iolib](https://github.com/sionescu/iolib) - I/O library. [Expat][14].
|
|
@@ -900,6 +974,22 @@ Contributing
|
|
|
Your contributions are always welcome! Please submit a pull request or create
|
|
|
an issue to add a new framework, library or software to the list.
|
|
|
|
|
|
+The rules we (try to) respect are the followings:
|
|
|
+
|
|
|
+- by default, add a library to the end of its section.
|
|
|
+- absolute de-facto libraries, like BordeauxThreads or Quicklisp,
|
|
|
+ should be denoted with a :star: (`:star:` in markdown).
|
|
|
+- two libraries very similar in scope should be side by side, or in a
|
|
|
+ section of their own.
|
|
|
+- do some curation based on our experience and the state of the
|
|
|
+ library's documentation. We do *not* aim at listing every existing
|
|
|
+ CL library (see Quickdocs or Cliki for that) nor to list every
|
|
|
+ "popular" library (see Quicklisp stats).
|
|
|
+- as such, the libraries we like best are marked with a 👍 (`1F44D`
|
|
|
+ unicode character). See also the signs' explanation in the
|
|
|
+ introduction.
|
|
|
+
|
|
|
+
|
|
|
[2]: http://www.gnu.org/copyleft/gpl.html
|
|
|
[3]: http://www.gnu.org/software/classpath/license.html
|
|
|
[4]: https://common-lisp.net/project/armedbear/faq.shtml#qa
|