Region-Based Dynamic Separation for STM Haskell
The authors present the first design and implementation of dynamic separation in STM Haskell. Dynamic separation is a recent approach to Software Transactional Memory (STM) that achieves strongly-atomic semantics with performance comparable to that of a weakly-atomic STM. STM Haskell, a lazy-versioning STM library for Haskell, previously supported strongly-atomic semantics via static separation, and They have found dynamic separation to be a natural extension of the library's interface. Their approach to dynamic separation makes several advances over previous work.