We give a fresh look at the typed region calculus of Tofte and Talpin using an encoding in a typed pi-calculus equipped with groups. In a functional programming language with regions, memory allocations are made on statically determined storage regions. Regions are allocated and de-allocated according to a stack discipline, thus improving memory management. The idea of groups arose in the typed ambient calculus of Cardelli, Ghelli, and Gordon. There, and in our pi-calculus, each name has a statically determined group to which it belongs.
Groups allow for type-checking of certain mobility properties, as well as effect analyses.
Our encoding makes precise the intuitive correspondence between regions and groups. March, Ganesh Sittampalam , University of Oxford. Using higher order pattern matching to automatically apply fusion transformations. In the world of functional programming, many accumulating parameter optimisations can be derived using a theorem known as fusion. In my talk I will show how this theorem can be applied mechanically, thus helping functional programmers write efficient programs.