Implementation of Software Transactional Memory for F#

by Doug Finke on January 17, 2008

via Don Syme

Greg Neverov’s post.

The library exposes memory transactions as a monad using F#’s new computation expression feature.

Download HERE.

{ 1 comment… read it below or add one }

Kalani 01.20.08 at 4:29 pm

Interesting … it seems to turn out well (the code using STM doesn’t look very awkward), which is pretty surprising because most code I’ve seen encoding various monads into O’Caml doesn’t look very nice. I think eventually O’Caml (and F# as well) will eventually have to bite the bullet and add some support for typeclasses and higher-kinded types (as both are necessary to make monads a “non-special form”).

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>