To give this some context and some application today:<p>The Pi Calculus is a form of Process Calculus which is a Mathematical tool for modelling concurrent systems. (One might argue that concurrency is still a hard problem in Computer Science - but I'll leave that to the reader):<p><a href="http://en.wikipedia.org/wiki/Process_calculus" rel="nofollow">http://en.wikipedia.org/wiki/Process_calculus</a><p>This led to Robin Milners work on the Calculus of Communicating Systems (CCS). (Milner was trying to invent an automated theorem prover - and invented ML (Haskell precursor) and CCS along the way). Milner rocks.<p><a href="https://en.wikipedia.org/wiki/Calculus_of_Communicating_Systems" rel="nofollow">https://en.wikipedia.org/wiki/Calculus_of_Communicating_Syst...</a><p>CCS Lead to the PI Calculus (which is what is linked).<p>Communicating Sequential Processes (CSP) also came out of the Process Calculi. (Philip Wadler described CSP as the 'moral equivalent' of CCS).<p><a href="http://en.wikipedia.org/wiki/Communicating_Sequential_Processes" rel="nofollow">http://en.wikipedia.org/wiki/Communicating_Sequential_Proces...</a><p>The great thing about CSP is that they're used in modern programming languages today to solve concurrency problems in async operations. We see this with the C# compiler and the Async primitive:<p><a href="http://msdn.microsoft.com/en-au/vstudio/jj573641.aspx" rel="nofollow">http://msdn.microsoft.com/en-au/vstudio/jj573641.aspx</a><p>What is even more interesting is that CSP is used in Clojure in core.async. core.async is a macro that writes a state machine around blocking macros. (Similar in function to the C# compiler primitive). The benefit for this for ClojureScript is that you can write concurrent blocking operations that run in a single threaded environment. All this is done not with compiler changes, but with a deep walking macro written by Rich Hickey and Timothy Baldridge.<p><a href="http://www.slideshare.net/borgesleonardo/intro-to-clojures-coreasync" rel="nofollow">http://www.slideshare.net/borgesleonardo/intro-to-clojures-c...</a><p><a href="http://swannodette.github.io/2013/08/02/100000-processes/" rel="nofollow">http://swannodette.github.io/2013/08/02/100000-processes/</a><p>So is the Pi Calculus interesting and relevant to today? Yes! (But you have to jump a few links to understand why.)
It's a nice model of concurrency that had been extensively studied by researchers but (I believe) never really had much practical impact.<p>Basically, it's a very small programming or modeling language based on concurrent message passing with a simple formal semantics. Pretty much in the same way that the lambda calculus is a small language based on functions.<p>There's no mainstream programming language based on it, unlike the lambda calculus that inspired LISP, ML and so on...