+1 Thanks so much. Looking forward to digging into the code this evening.
Any chance you will have any online course materials for public consumption? Thanks again, Sent via mobile On Apr 21, 2011, at 1:25 PM, Ambrose Bonnaire-Sergeant <abonnaireserge...@gmail.com> wrote: > 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 -- 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