# From region inference to von Neumann machines via region representation inference

@inproceedings{Birkedal1996FromRI, title={From region inference to von Neumann machines via region representation inference}, author={L. Birkedal and M. Tofte and Magnus Vejlstrup}, booktitle={POPL '96}, year={1996} }

Region Inference is a technique for implementing programming languages that are based on typed call-by-value lambda calculus, such as Standard ML. The mathematical runtime model of region inference uses a stack of regions, each of which can contain an unbounded number of values. This paper is concerned with mapping the mathematical model onto real machines. This is done by composing region inference with Region Representation Inference, which gradually refines region information till it is… Expand

#### 156 Citations

A region inference algorithm

- Computer Science
- TOPL
- 1998

It is proved that the algorithm is sound with respect to the region inference rules and that it always terminates even though the area inference rules permit polymorphic recursion in regions. Expand

Region-Based Memory Management for a Dynamically-Typed Language

- Computer Science
- APLAS
- 2004

This paper shows that the region-based memory management can be applied to dynamically-typed languages by combining region inference and Cartwright et al. Expand

Region inference for an object-oriented language

- Computer Science
- PLDI '04
- 2004

This paper proposes an automatic region inference system for a core subset of Java that supports classes and methods that are region- polymorphic, with region-polymorphic recursion for methods. Expand

Syntactic Type Soundness for the Region Calculus

- Computer Science, Mathematics
- Electron. Notes Theor. Comput. Sci.
- 2000

This paper presents a small-step operational semantics for the region calculus, based on syntactic rewriting, and proves type soundness following the approach of Wright and Felleisen, leading to very simple inductive proofs. Expand

A Simple Region Inference Algorithm for a First-Order Functional Language

- Computer Science
- WFLP
- 2009

This paper presents an inference algorithm for annotating programs with regions which is both simpler to understand and more efficient than other related algorithms. Expand

Bisimilarity for the Region Calculus

- Computer Science
- High. Order Symb. Comput.
- 2004

This paper presents a theory based on bisimulation, which serves as a coinductive proof principle for showing equivalences of polymorphically region-annotated terms and formulate a syntactic equational theory, which is used elsewhere to prove the soundness of a specializer based on region inference. Expand

Size slicing: a hybrid approach to size inference in futhark

- Computer Science
- FHPC '14
- 2014

We present a shape inference analysis for a purely-functional language, named Futhark, that supports nested parallelism via array combinators such as map, reduce, filter}, and scan}. Our approach is… Expand

A constraint-based region inference algorithm

- Computer Science, Mathematics
- Theor. Comput. Sci.
- 2001

This work proves that rewriting of a constraint problem always terminates with a solution to the original system, and defines an “implementation-oriented” formulation of region inference and shows that every derivation in the implementation-oriented formulation can be obtained by a solutions to a corresponding constraint problem. Expand

Combining region inference and garbage collection

- Computer Science
- PLDI '02
- 2002

Measurements show that for a variety of benchmark programs, code generated by the compiler is as efficient, both with respect to execution time and memory usage, as programs compiled with Standard ML of New Jersey, another state-of-the-art Standard ML compiler. Expand

An Equational Theory for a Region Calculus

- Mathematics
- 2002

A region calculus is a polymorphically typed lambda calculus with explicit memory management primitives. Every value is annotated with a region in which it is stored. Regions are allocated and… Expand

#### References

SHOWING 1-10 OF 33 REFERENCES

Implementation of the typed call-by-value λ-calculus using a stack of regions

- Computer Science
- POPL '94
- 1994

The translation is proved correct with respect to a store semantics, which models as a region-based run-time system for polymorphically typed call-by-value λ-calculus. Expand

Polymorphic Type, Region and Effect Inference

- Computer Science
- J. Funct. Program.
- 1991

A new static system which reconstructs the types, regions and effects of expressions in an implicitly typed functional language that supports imperative operations on reference values, and proves the correctness of the reconstruction algorithm with respect to the static semantics. Expand

An Optimizing Backend for the ML Kit Using a Stack of Regions

- Computer Science
- 1995

This work presents an optimizing backend for the ML Kit compiler building on region inference, and implements a code generator for the HPPA RISC architecture and experiments show that it in some cases generate faster code than the Standard ML of New Jersey compiler. Expand

Compiling with Continuations

- Computer Science
- 1991

This book shows how continuation-passing style is used as an intermediate representation to perform optimizations and program transformations to create practical optimizing compilers for modern languages like ML. Expand

Compiling standard ML for efficient execution on modern machines

- Computer Science
- 1994

This dissertation presents the design and evaluation of several new compilation techniques that meet tough challenges to efficient implementations of Standard ML by taking advantage of some of the higher-level language features in SML. Expand

A Theory of Type Polymorphism in Programming

- Computer Science
- J. Comput. Syst. Sci.
- 1978

This work presents a formal type discipline for polymorphic procedures in the context of a simple programming language, and a compile time type-checking algorithm w which enforces the discipline. Expand

Better static memory management: improving region-based analysis of higher-order languages

- Computer Science
- PLDI '95
- 1995

This work improves upon the Tofte/Talpin region-based scheme for compile-time memory management and reduces memory requirements significantly, in some cases asymptotically. Expand

Higher-order concurrent programs with finite communication topology (extended abstract)

- Computer Science
- POPL '94
- 1994

An analysis that given the communication behaviour predicts the number of processes and channels required during the execution of the CML program is developed. Expand

Types and Effects Towards the Integration of Functional and Imperative Programming.

- Computer Science
- 1987

The type and effect system makes it possible to embed functional program fragments within imperative programs, and vice versa, while retaining the benefits of the chosen programming style in each program fragment, and offers a clean solution to the problem of first-class polymorphism in an imperative language. Expand

Algebraic reconstruction of types and effects

- Computer Science
- POPL '91
- 1991

This paper presents the rst algorithm for reconstructing the types and e ects of expressions in the presence of rst class procedures in a polymorphic typed language and proves that it is sound and complete, and discusses its practical import. Expand