This CD-ROM accompanies the master thesis "Unifying STM and Side Effects in Clojure" and contains the source code developed as part of the project. "dptClojure" is our extended version of Clojure developed as part of the thesis. The following is a description of the contents in each folder.
Two implementations of the Santa Clause problem published in "A New Exercise in Concurrency". "without_extensions.clj" is implemented using only Clojure, and "with_extensions.clj" is implemented in "dptClojure". Presented as part of the evaluation in the rapport.
The entire experimental implementation implemented in Clojure's runtime as described in the rapport as Appendix B.
The files changed in Clojure's runtime as part of the experimental implementation, described in the rapport as Appendix B.
The event manager and transaction control systems implemented in Clojure's runtime as described in the rapport as Chapter 3.
The files changed in Clojure's runtime as part of the event manager and transaction control systems implementation, described in the rapport as Chapter 3.
A small script that lists all files we have changed in Clojure's implementation, the script is written in Clojure.