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
A region inference algorithm
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
  • S. Helsen
  • Computer Science
  • High. Order Symb. Comput.
  • 2004
TLDR
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
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 isExpand
A constraint-based region inference algorithm
TLDR
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
TLDR
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
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 andExpand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 33 REFERENCES
Implementation of the typed call-by-value λ-calculus using a stack of regions
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
  • R. Milner
  • Computer Science
  • J. Comput. Syst. Sci.
  • 1978
TLDR
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
TLDR
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)
TLDR
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.
TLDR
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
TLDR
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
...
1
2
3
4
...