The Pi Calculus and the Pict Programming Language
Owen McGrath, CS Undergraduate
Turing machines and the Lambda calculus both provide a mathematical background for programming languages, and both provide insight into new language constructs that make programming easier. However, in both functional and imperative programming languages, concurrency and multithreading are hard to do well. I will introduce the Pi calculus, which models programs as parallel communication across multiple channels, and the Pict programming language inspired by it.