At the turn of the century mathematicians were trying to mechanise mathematics, fortunately they did not succeed. Back then ‘computer’ was a job title for a person and not a silicon machine and logicians were inventing ways of unambiguously describing procedures, the best known being the Turing Machine and the Lambda Calculus.
Process calculi are ways of formally modelling concurrent and distributed computation. We all know the move to multicore is making writing programs harder and lots of us are writing distributed systems and having to deal with all the interesting ways programs can fail.
After a brief history of different approaches to modelling concurrency, we will split the time between the formalisms and languages that implement them.
Lambda calculus and Lisp.
Communicating sequential processes and it’s influence on core.async and Go.
\pi-calculus and Pict
Sign in to add slides, notes or videos to this session