Category Archives: Haskell

Composable Blocking Transactions

Background: Software Transactional Memory (STM) is a foundation for atomic composable non-blocking transactions. An STM transaction consists of a set of variables and a monadic sequence of read/write operations on those variables. As the transaction progresses, a transaction table is … Continue reading

Posted in Haskell | Leave a comment


I’ve been playing around with an Arrow concept, which to my knowledge is original. I’ve decided to call this a FactoryArrow: newtype FactoryArrow m n a b = FactoryArrow { runFactory :: m (Kleisli n a b) } Where m … Continue reading

Posted in Haskell | 2 Comments

Vec is Good

Last night I checked out Scott E. Dillard’s Vec library. It’s a good, fast, pure implementation of the basic matrix operations applicable to 3D graphics. Switching to Vec has shaved off quite a bit of time from one of my … Continue reading

Posted in Haskell | 1 Comment