source: doc/theses/colby_parsons_MMAth/text/intro.tex @ 48fda7a

ADTast-experimental
Last change on this file since 48fda7a was e41c4c6, checked in by caparsons <caparson@…>, 15 months ago

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

  • Property mode set to 100644
File size: 1.5 KB
Line 
1% ======================================================================
2% ======================================================================
3\chapter{Introduction}\label{s:intro}
4% ======================================================================
5% ======================================================================
6
7Concurrent programs are the wild west of programming because determinism and simple ordering of program operations go out the window. To seize the reins and write performant and safe concurrent code, high-level concurrent-language features are needed. Like any other craftsmen, programmers are only as good as their tools, and concurrent tooling and features are no exception. This thesis presents a set of concurrent features implemented in the new programming-language \CFA. These features aim to improve the performance of concurrent programs, aid in writing safe programs, and assist user productivity by improving the ease of concurrent programming. The groundwork for concurrent features in \CFA was implemented by Thierry Delisle~\cite{Delisle18}, who contributed the threading system, coroutines, monitors and other tools. This thesis builds on top of that foundation by providing a suite of high-level concurrent features. These features include mutex statements, channels, an actor system and a waituntil statement. All of these features exist in other programming in some shape or form, however this thesis extends the original ideas by improving performance, productivity, and safety.
Note: See TracBrowser for help on using the repository browser.