A Common Lisp extension "to support composable Software Transactional Memory". Programming with CL-STM is based on atomic transactions, which can be composed to make larger atomic transactions. Transactions run in parallel and are rolled back in case of conflicts.