The FLINT Project

Research

People

Publications

Software

Support

Links

Internal

Typed Regions

Last modified: Tue Jan 21 04:04:21 2003 GMT.

Authors

Stefan Monnier
Zhong Shao

Abstract

Standard type systems are not sufficiently expressive when applied to low-level memory-management code. Such code often uses some form of strong update (i.e. assignments that change the type of the affected location) and needs to reason about the relative position of objects in memory. We present a novel type system which, like alias types, provides a form of strong update, but with the advantage that it does not require the aliasing pattern to be statically described. It also provides operations over sequential memory locations and allows covariant reference casts. We then show how this new type system can be used to implement a type-safe stop&copy garbage collector that can properly collect cyclic data-structures. More specifically, we show how to write a two-generations collector for a language with mutable ref-cells.

Published

Technical Report YALEU/DCS/TR-1242, Department of Computer Science, Yale University, October 2002.

Copyright © 1996-2024 The FLINT Group <flint at cs dot yale dot edu>
Yale University Department of Computer Science
Validate this page
colophon