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.