Master’s Thesis Presentation • Programming Languages • High Level Concurrency in C∀

Friday, September 8, 2023 2:00 pm - 3:00 pm EDT (GMT -04:00)

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.