
On Tue, Mar 28, 2006 at 10:49:36AM +0100, Malcolm Wallace wrote:
Tomasz Zielonka
wrote: http://www.uncurry.com/repos/FakeSTM/
Perhaps it could serve as a drop-in replacement for STM in haskell compilers which don't implement STM directly.
Nice idea. But your code already uses a whole heap of Haskell extensions which may or may not make it into Haskell'.
monad transformer lib (requires MPTC) exceptions dynamically extensible exceptions deriving non-standard classes extended newtype deriving pattern guards
You read the whole code? Wow! I myself would have trouble understanding how it does what it does now ;-) I could easily get rid of: deriving non-standard classes extended newtype deriving pattern guards I used GHC's exceptions, because I wanted my STM to handle them correctly, as in the STM paper. In a implementation without exceptions, I could probably get away with hand made exception handling. The rest would be a bit more difficult to remove, but I think it could be possible more or less elegantly. Best regards Tomasz