scala-stm / scala-stm

A library-based Software Transactional Memory (STM) for Scala, coupled with transactional sets and maps

Website GitHub

Build Status Maven Central

ScalaSTM

ScalaSTM is a lightweight software transactional memory for Scala, inspired by the STMs in Haskell and Clojure. It was written by Nathan Bronson and the Scala STM Expert Group, and it is published under a BSD 3-Clause License.

ScalaSTM is available for Scala 2.11.x and 2.12.x. It is also possible to use the library from Java, see JavaAPITests.

You can use it in your sbt build file as follows:

libraryDependencies += "org.scala-stm" %% "scala-stm" % "0.9.1"

Or in Maven:

<dependency>
  <groupId>org.scala-stm</groupId>
  <artifactId>scala-stm_2.11</artifactId>
  <version>0.9.1</version>
</dependency>

For download info and documentation see http://scala-stm.org

For the design of the library, see the paper