Publication | Open Access
Linearity and the pi-calculus
237
Citations
29
References
1999
Year
Theoretical MathematicsEngineeringFoundational CalculusComputational ComplexityCompilersLinear ChannelTail-call OptimizationProgramming LanguagesProgramming Language TheoryLinear Type SystemFoundation Of MathematicsComputer ScienceProcess CalculusFunctional Programming LanguageFunctional ProgrammingTheory Of ComputingAutomated ReasoningConcurrency TheoryFormal MethodsMathematical FoundationsAsynchronous Systems
The economy and flexibility of the pi-calculus make it an attractive object of theoretical study and a clean basis for concurrent language design and implementation. However, such generality has a cost: encoding higher-level features like functional computation in pi-calculus throws away potentially useful information. We show how a linear type system can be used to recover important static information about a process's behavior. In particular, we can guarantee that two processes communicating over a linear channel cannot interfere with other communicating processes. After developing standard results such as soundness of typing, we focus on equivalences, adapting the standard notion of barbed bisimulation to the linear setting and showing how reductions on linear channels induce a useful “partial confluence” of process behaviors. For an extended example of the theory, we prove the validity of a tail-call optimization for higher-order functions represented as processes.
| Year | Citations | |
|---|---|---|
Page 1
Page 1