Doing more than one thing at a time.

  • blackbird - Blackbird is a modern promise implementation
  • Bordeaux-Threads - Bordeaux-Threads lets you write multi-threaded applications in a portable way
  • bt-semaphore - simple semaphores for bordeaux-threads
  • Calispel - Calispel is a concurrency library for thread-safe message-passing channels, in the style of the occam programming language
  • chanl - ChanL is a concurrency library built on top of bordeaux-threads that provides channels as thread-synchronisation primitives
  • cl-actors - A simple Common Lisp implementation of the actor model of concurrency
  • cl-async - Cl-async is a asynchronous I/O library wrapping the libuv C library
  • cl-cuda - Cl-cuda is a library to use Nvidia CUDA in Common Lisp programs
  • cl-flow - Asynchronous non-blocking concurrency in Common Lisp, similar to what green threads are for
  • cl-future - Cl-future is a simple way to achieve parallelism for common lisp on multiprocessor shared memory Unix machines
  • cl-gpu - cl-gpu is a translator from a subset of Common Lisp to CUDA for writing GPU kernels
  • cl-muproc - CL-MUPROC is an Erlang-inspired concurrency library available under the BSD license for Lispworks, OpenMCL, SBCL, CMUCL, and ACL
  • Eager Future2 - Eager Future2 provides composable concurrency primitives that unify parallel and lazy evaluation, are integrated with CL's condition system, and have automatic resource management
  • green-threads - GREEN-THREADS is a portable library implementing green threads (lightweight, cooperatively multitasked, user threads) in Common Lisp
  • lparallel - lparallel is a new concurrency library
  • memento-mori - memento-mori is a library for writing robust, actor-based systems
  • pcall - PCall is a concurrency library that implements simple 'result-oriented' parallelism on top of Bordeaux-Threads
  • Petalisp - Elegant code generation for high-performance computing
  • pretend-event-loop - This is a common lisp library that simulates an event loop
  • stmx - STMX is an actively maintained, high-performance concurrency library providing Transactional Memory for Common Lisp
  • thread-pool - thread-pool is library that allows asynchronous function execution from a static thread pool
  • threading-queue - threading-queue is a CL macro to distribute work on several threads, feeding the data via thread-safe-queues over several steps
  • trivial-timers - Trivial-timers is a minimally portable implementation of the SBCL timer extension using Bordeaux-Threads

Threads are a popular technique for concurrent programming: