Introduction
Eager Future2 is a Common Lisp library that provides composable concurrency primitives that unify parallel and lazy evaluation, are integrated with the Common Lisp condition system, and have automatic resource management.
Download
The latest version of Eager Future2 is 0.2. Older versions can be downloaded from the release directory.
Source repository
https://gitlab.common-lisp.net/vsedach/eager-future2.git
Mailing list
Send questions and patches to eager-future-devel@common-lisp.net. You can subscribe to the mailing list and manage your subscription using the Mailman web interface.
Documentation
The README file included with the distribution contains the documentation and an API reference.
Further reading
- Guy Steele's ICFP2009 talk on parallel programming is an excellent guide to writing code suitable for parallel computation with futures.
- Marc Feeley's PhD dissertation is the most comprehensive resource on using and implementing futures.
- This Lambda the Ultimate discussion on C++ Futures provides a lot of background on the concept of future composition, the different evaluation strategies, and the design considerations that went into Eager Future2.
- The Eager Future2 thread pool implementation is based on the Leader/Follower pattern, which is somewhat more efficient than the Half-Sync/Half-Async multiplexing pattern employed in many thread pool and network server implementations.
License
Eager Future2 is distributed under the terms of GNU Lesser General Public License version 3 or any later version.
Eager Future
Eager Future2 is the successor to Eager Future, which was a fork of PCall. The source repository for Eager Future can be found at https://gitlab.common-lisp.net/eager-future/eager-future.git