The limits of software transactional memory (STM): dissecting Haskell STM applications on a many-core environment
Concurrent Haskell