3 ms·
So cool! Any languages support STM first class besides Haskell?
by scottmas 11mo ago
So cool! Any languages support STM first class besides Haskell?
- cosmic_quanta 11mo agoI think a decade ago or so, people started trying to integrate STM in Pypy
- vijaysharma12 11mo agoI believe Clojure has first class support for STM.
- CGamesPlay 11mo agoLooks like somebody made a Rust experiment back when Rust was new: https://docs.rs/stm/latest/stm/ https://docs.rs/stm/latest/stm/
- lmm 11mo agoScala has great STM in the same way (monad-based).
- LelouBil 11mo agoNot "first class" but pretty good in Kotlin https://arrow-kt.io/learn/coroutines/stm/ https://arrow-kt.io/learn/coroutines/stm/
- spencerflem 11mo agoThe 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.
- andersa 11mo agoVerse 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.
- stackghost 11mo agoThere are c++ libraries that offer it.
- hackingonempty 11mo agoScala 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.