<p>If you look on the wikipedia page for <a href="http://en.wikipedia.org/wiki/Software_transactional_memory" rel="nofollow noreferrer">STM</a>, you'll see that there are many many implementations already available. Many approaches exist and as usual there are always trade-offs to consider. Naturally, associated with these implementations will be technical reports describing their implementations. One approach for scheme is documented in the article <em><a href="http://soft.vub.ac.be/Publications/2009/vub-prog-tr-09-05.pdf" rel="nofollow noreferrer">Reusable building blocks for software transactional memory</a></em> by Charlotte Herzeel, Pascal Costanza and Theo D’Hondt. This StackOverflow <a href="https://stackoverflow.com/questions/1627600/how-do-you-implement-software-transactional-memory">question</a> also addresses the issue. </p>

CC BY-SA 2.5
2010-10-31T11:51:55.600Z
2010-10-31T11:51:55.600Z
2017-05-23T11:33:33.907Z
Dave Clarke
<p>A student has implemented a scheme interpreter <a href="http://www.ccs.neu.edu/home/matthias/BTLS/" rel="nofollow">in scheme</a> and then <a href="http://nakkaya.com/2010/08/24/a-micro-manual-for-lisp-implemented-in-c/" rel="nofollow">in C</a>, and a <a href="https://www.cs.indiana.edu/~aghuloum/compilers-tutorial-2006-09-16.pdf" rel="nofollow">scheme compiler</a> in scheme.</p>

<p>That student is now interested in implementing a STM (Software Transactional Memory) system into this compiler. </p>

<p>Is there a paper/doco to aid them to do this?</p>

CC BY-SA 2.5
2010-10-31T14:07:20.837Z
this doesn't seem to be a TCS question
Lev Reyzin
CC BY-SA 2.5
2010-11-01T00:19:43.060Z
I think I agree with Lev, this seems to be a question about implementations, not theory. But it probably can be rephrased to become a TCS question.
Kaveh
<dc.parallel-comp>
Approach to implementing an STM for a student
hawkeye
# Approach to implementing an STM for a student

(Asked by: username_0 on 2010-10-31)

A student has implemented a scheme interpreter [in scheme](http://www.ccs.neu.edu/home/matthias/BTLS/) and then [in C](http://nakkaya.com/2010/08/24/a-micro-manual-for-lisp-implemented-in-c/), and a [scheme compiler](https://www.cs.indiana.edu/~aghuloum/compilers-tutorial-2006-09-16.pdf) in scheme.

That student is now interested in implementing a STM (Software Transactional Memory) system into this compiler.

Is there a paper/doco to aid them to do this?

**Tags:** dc.parallel-comp
> **Comments:**
> **username_1**: this doesn't seem to be a TCS question  
> **username_2**: I think I agree with Lev, this seems to be a question about implementations, not theory. But it probably can be rephrased to become a TCS question.  

---

## 1 answers

### Answer by username_3 on 2010-10-31. Score: 3 | Accepted answer

If you look on the wikipedia page for [STM](http://en.wikipedia.org/wiki/Software_transactional_memory), you'll see that there are many many implementations already available. Many approaches exist and as usual there are always trade-offs to consider. Naturally, associated with these implementations will be technical reports describing their implementations. One approach for scheme is documented in the article *[Reusable building blocks for software transactional memory](http://soft.vub.ac.be/Publications/2009/vub-prog-tr-09-05.pdf)* by Charlotte Herzeel, Pascal Costanza and Theo D’Hondt. This StackOverflow [question](https://stackoverflow.com/questions/1627600/how-do-you-implement-software-transactional-memory) also addresses the issue.


---

