A Common Lisp implementation of transactional Hewitt Actors for building highly concurrent, thread-agnostic, and secure distributed systems.
Lisp-Actors is a Common Lisp library that implements the Transactional Conventional Hewitt Actors model for concurrent and distributed programming. It provides a thread-agnostic way to build highly scalable systems using message-passing actors, abstracting away threads, locks, and callbacks. The library includes secure network communication with post-quantum cryptography and enables parallel execution across CPU cores.
Common Lisp developers building concurrent, parallel, or distributed applications such as real-time data acquisition, audio analysis, GUI orchestration, or secure networked systems.
Developers choose Lisp-Actors for its simplicity in handling concurrency without manual thread management, its transactional safety, built-in secure distributed communication, and ability to scale to millions of concurrent tasks with functional purity.
Thread-agnostic Actors in Common Lisp
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
SEND and BECOME operations are stashed and only committed on successful exit, ensuring error recovery and atomic state changes, which simplifies fault tolerance in concurrent systems.
Uses a dispatch thread pool to abstract machine threads, enabling seamless parallelism across CPU cores without manual thread management, scaling to millions of concurrent tasks as demonstrated in audio analysis.
Features a network layer with transparent proxies, LWE lattice crypto for post-quantum security, and double-ratchet encryption, making secure distributed communication straightforward without external dependencies.
Encourages functionally pure programming with BECOME for state changes, avoiding shared mutable data and race conditions, which aligns with FPL guidelines for safe concurrency.
Requires adopting the actor model and functional programming mindset, which can be challenging for developers accustomed to traditional call/return or imperative styles, as highlighted in the philosophy sections.
As a Common Lisp library, it has limited community support, documentation, and third-party integrations compared to mainstream concurrency frameworks like Akka or Erlang.
The README mentions pending ports like Async Socket for SBCL, indicating potential compatibility issues across different Common Lisp implementations that may hinder deployment.
lisp-actors is an open-source alternative to the following products: