1996 · 141 citations · 19 references
ComputingComputer ScienceFormal MethodsProgramming LanguagesTheory Of ComputationConcurrent ModelingConcurrent ProgrammingData-flow AnalysisType SystemsBisimulationChannelsHigher-order FunctionsLinear Type SystemsTail Call AnalysisTail Call Optimization
The economy and flexibility of the pi-calculus make it attractive both as an object of theoretical study and as a 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 behaviour. In particular, we can guarantee that two processes communicating over a linear channel cannot interfere with other communicating processes. This enables more aggressive optimisation of communications over linear channels and allows useful refinements to the usual notions of process equivalence for pi-calculus.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.
19
Jean-Yves Girard · Theoretical Computer Science · 1987 · 4.1K citations
A calculus of mobile processes, I
Robin Milner, Joachim Parrow, David Walker · Information and Computation · 1992 · 2.8K citations · Full text
Viewing control structures as patterns of passing messages
Carl Hewitt · Artificial Intelligence · 1977 · 1.2K citations · Full text
The reflexive CHAM and the join-calculus
Cédric Fournet, Georges Gonthier · 1996 · 453 citations · Full text
Computational interpretations of linear logic
Samson Abramsky · Theoretical Computer Science · 1993 · 413 citations