Typing and subtyping for mobile processes
- 1 October 1996
- journal article
- research article
- Published by Cambridge University Press (CUP) in Mathematical Structures in Computer Science
- Vol. 6 (5) , 409-453
- https://doi.org/10.1017/s096012950007002x
Abstract
The π-calculus is a process algebra that supports mobility by focusing on the communication of channels. Milner's presentation of the π-calculus includes a type system assigning arities to channels and enforcing a corresponding discipline in their use. We extend Milner's language of types by distinguishing between the ability to read from a channel, the ability to write to a channel, and the ability both to read and to write. This refinement gives rise to a natural subtype relation similar to those studied in typed λ-calculi. The greater precision of our type discipline yields stronger versions of standard theorems on the π-calculus. These can be used, for example, to obtain the validity of β-reduction for the more efficient of Milner's encodings of the call-by-value λ-calculus, which fails in the ordinary π-calculus. We define the syntax, typing, subtyping, and operational semantics of our calculus, prove that the typing rules are sound, apply the system to Milner's λ-calculus encodings, and sketch extensions to higher-order process calculi and polymorphic typing.Keywords
This publication has 21 references indexed in Scilit:
- A calculus of mobile processes, IPublished by Elsevier ,2004
- A theory of type polymorphism in programmingPublished by Elsevier ,2003
- Objects in the π-CalculusInformation and Computation, 1995
- Concurrent objects in a process calculusPublished by Springer Nature ,1995
- Subtyping recursive typesACM Transactions on Programming Languages and Systems, 1993
- Functions as processesMathematical Structures in Computer Science, 1992
- On understanding types, data abstraction, and polymorphismACM Computing Surveys, 1985
- Fundamental properties of infinite treesTheoretical Computer Science, 1983
- Call-by-name, call-by-value and the λ-calculusTheoretical Computer Science, 1975
- Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theoremIndagationes Mathematicae, 1972