A Formal Semantics For Finalizers

Marcus LealRoberto Ierusalimschy

Automatic finalization is a common but inherently complex language facility that makes the garbage collection process semantically visible to user programs. With finalizers, memory management becomes more flexible, and garbage collectors can be used to recycle other resources in addition to memory. Formal language models usually ignore garbage collection, and therefore are unable to properly describe finalization. In this paper we use an operational approach to develop a new abstract model that explicitly represents memory management actions in a garbage-collected programming language based on the lambda-calculus. We formally state and prove several important properties related to memory management, and employ the model to describe and explore a semantics for finalizers.

Caso o link acima esteja inválido, faça uma busca pelo texto completo na Web: Buscar na Web

Biblioteca Digital Brasileira de Computação - Contato:
     Mantida por: