Please note: This master’s thesis presentation will take place in DC 3317.
Colby Parsons, Master’s candidate
David R. Cheriton School of Computer Science
Supervisor: Professor Peter Buhr
Concurrent programs are notoriously hard to program and even harder to debug. Furthermore, concurrent programs must be performant, as the introduction of concurrency into a program is often done to achieve some form of speedup.
This thesis presents a suite of high-level concurrent-language features in the new programming language C∀, all of which are implemented with the aim of improving the performance, productivity, and safety of concurrent programs. C∀ is a non-object-oriented programming language that extends C∀. The foundation for concurrency in C∀ was laid by Thierry Delisle, who implemented coroutines, user-level threads, and monitors. This thesis builds upon that work and introduces a suite of new concurrent features as its main contribution. The features include a mutex statement (similar to a C++ scoped lock or Java synchronized statement), Go-like channels and select statement, and an actor system. The root ideas behind these features are not new, but the C∀ implementations extends the original ideas in performance, productivity, and safety.
200 University Avenue West
Waterloo, ON N2L 3G1