This is great, thanks for sharing!

Ambrose
On Thu, Apr 21, 2011 at 10:57 PM, Tom Van Cutsem <tomvc...@gmail.com> wrote:

> The following might be of interest to Clojurians:
>
> https://github.com/tvcutsem/stm-in-clojure is a meta-circular
> implementation of STM in Clojure. It was created purely for educational
> purposes (to allow people to better understand STM by reading a Clojure
> implementation, without having to descend into the Java implementation). The
> simplest meta-circular MVCC implementation weighs in at less than 200 LOC.
>
> I use this implementation for teaching. There's a set of slides that
> accompany this code at http://www.slideshare.net/tvcutsem/stm-inclojure
>
> I welcome any feedback on this implementation. I'm fairly new to Clojure
> myself, so comments on style are also appreciated. For those "into"
> Clojure's real STM implementation, pointing out any aspects of my
> meta-circular implementation that may be misleading as compared to the
> built-in STM would be particularly helpful.
>
> Kind regards,
> Tom
>
> 2010/11/2 Tom Van Cutsem <tomvc...@gmail.com>
>
>> Hi,
>>
>> In a couple of months I will teach a new course on concurrent/parallel
>> programming at the University of Brussels. I will use Clojure for a large
>> part of the course. I primarily want the students to learn how to make
>> effective use of the STM as Clojure programmers, but I would also like to
>> expose them to some "under the hood" implementation details. One option
>> would be to dive into the actual Java implementation of Clojure's STM, but
>> my fear is that this will be too complex. Another option I've been thinking
>> of is to write a simple, didactic STM in Clojure itself (following the SICP
>> meta-circular interpreters tradition). It goes without saying that high
>> performance is not the goal here. Rather, it should help students to grasp
>> atomicity, isolation, interactions between readers/writers, the differences
>> between alter and commute, etc.
>>
>> My questions to the list:
>> - has anyone already experimented with a toy STM in Clojure for didactic
>> purposes?
>> - what would be a good resource to start such a design from? (my current
>> plan is to start from <http://java.ociweb.com/mark/stm/article.html>)
>>
>> Thanks,
>> Tom
>>
>
>  --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to