Scala supports it with for-comprehensions which are equivalent to Haskell's do-notation but STM is not part of the Scala standard library. Zio and Cats Effect are two popular Scala effects systems with STM.
Verse only supports single-threaded transactional memory. Epic hasn't yet demonstrated that their approach can actually scale to be used from multiple threads in a useful manner, though they claim that it will.
Scala supports it with for-comprehensions which are equivalent to Haskell's do-notation but STM is not part of the Scala standard library. Zio and Cats Effect are two popular Scala effects systems with STM.
Not "first class" but pretty good in Kotlin
https://arrow-kt.io/learn/coroutines/stm/
I believe Clojure has first class support for STM.
Looks like somebody made a Rust experiment back when Rust was new: https://docs.rs/stm/latest/stm/
Scala has great STM in the same way (monad-based).
The new Verse lang by Epic Games & a core Haskell contributor has a lot of transaction features. I don’t know if it’s exactly the same as STM though.
Verse only supports single-threaded transactional memory. Epic hasn't yet demonstrated that their approach can actually scale to be used from multiple threads in a useful manner, though they claim that it will.
I think a decade ago or so, people started trying to integrate STM in Pypy
There are c++ libraries that offer it.