A Region-Based Memory Manager for Prolog
Abstract
We extend Tofte and Talpin's region-based model for memory managementtosupport backtracking and cuts, which makes it suitable for use with Prolog and other logic programming languages. We describe how the extended model can be implemented and report on the performance of a prototype implementation. The prototype implementation performs well when compared to a garbage-collecting Prolog implementation using comparable technology for nonmemory -management issues. Categories and Subject Descriptors D.1.6 #Programming Techniques#: Logic Programming; D.3.2 #Programming Languages#: Language Classi#cations ---constraint and logic languages; D.3.3 #Program- ming Languages#: Language Constructs and Features--- dynamic storage management ; D.3.4 #Programming Languages #: Processors---memory management, run-time environments 1. INTRODUCTION The most important reason why real programmers like declarative programming is probably that a declarativelanguage relieves the programmer of thinking abou...