AtomScheme is a set of extensions to the Scheme48 v1.4 implementation of Scheme: an R5RS-complete Scheme. AtomScheme adds a set of primitives for strong atomicity to Scheme; code such as (atomic (lambda () some-expression)) will execute the effects of some-expression atomically with respect to all other threads in the program via a software transactional memory implementation.

The purpose of AtomScheme is to investigate the relationship between atomic transactions and first-class continuations. A paper on this relationship appeared in the 2007 Workshop on Scheme and Functional Programming and is available for download.  [PS]  [PDF]

The AtomScheme distribution can be downloaded here for Linux. Follow the instructions in README.ATOMSCHEME on how to build and use the distribution.

© Copyright 2007 Aaron Kimball
Validate XHTML or CSS