Abstract
Region-based memory management scheme has been proposed for
the programming language ML. In this scheme, a compiler statically estimates
the lifetime of each object by performing an extension of type
inference (called region inference) and inserts code for memory
allocation and deallocation. Advantages of this scheme are that
memory objects can be deallocated safely (unlike with manual memory
management using malloc/free) and often earlier than
with run-time garbage collection.
Since the region inference is an extension
of the ML type inference, however, it was not clear whether the
region-based memory management was applicable to dynamically-typed
programming languages like Scheme. In this paper, we show that the
region-based memory management can be applied to dynamically-typed
languages by combining region inference and Cartwright et al.'s soft
type system.