Dpi is a distributed version of the pi-calculus, in which processes are explicitly located, and a migration construct may be used for moving between locations. We argue that adding a recursion operator to the language increases significantly its descriptive power. But typing recursive processes requires the use of potentially infinite types. We show that the capability-based typing system of Dpi can be extended to coinductive types so that recursive processes can be successfully supported. We also show that, as in the pi-calculus, recursion can be implemented via iteration. This translation improves on the standard ones by being compositional but still comes with a significant migration overhead in our distributed setting.
['Samuel Hym', 'Matthew Hennessy']
Adding recursion to Dpi (Extended abstract)