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.