There is CL-STM.  I haven't tried it, though, and know little about it.

If you do find a good STM library, you'll want a functional collections library to go with it.  This is for the same reason that Clojure uses functional collections: you don't want to have to go outside the STM framework to update collection-valued slots of objects.  Permit me to suggest FSet: http://common-lisp.net/project/fset/

It is Quicklisp-loadable: (ql:quickload "fset")

-- Scott



On Fri, Dec 20, 2013 at 9:32 AM, Paul Tarvydas <paultarvydas@gmail.com> wrote:

I'm about to look into Software Transactional Memory techniques for some financial code I'm involved with.  Any advice about which libraries to look at (and why) would be quite welcome.

Thanks
pt