Abstract
Starting from a simple ‘ecological’ metaphor, we introduce a new memory management scheme (heaplifting) implemented in BinProlog, a continuation passing style variant of WAM. We discuss copying garbage collection mechanisms based on heaplifting and an OR-parallel execution model. We point out some surprising similarities with related work on functional languages and the difficulties that arise in the context of nondeterministic execution. Finally, we describe the full implementation of two builtins: a recursive copy_term and a very fast heap-lifting based findall and we evaluate their impact on the performances of BinProlog.
Keywords
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
K. A. M. Ali and R. Karlsson. The Muse Or-Parallel Prolog model and its performance. In S. Debray and M. Hermenegildo, editors, Proceedings of the 1990 North American Conference on Logic Programming, pages 757–776, Cambridge, Massachusetts London, England, 1990. MIT Press.
K. A. M. Ali and R. Karlsson. Scheduling Or-Parallelism in Muse. In K. Furukawa, editor, Proceedings of the Eighth International Conference on Logic Programming, pages 807–821, Cambridge, Massachusetts London, England, 1991. MIT Press.
A. Appel. A runtime system. Lisp and Symbolic Computation, (3):343–380, 1990.
A. Appel. Compiling with Continuations. Cambridge University Press, 1992.
Y. Bekkers and L. Ungaro. Two real-time garbage collectors for a prolog system. In Proceedings of the Logic Programming Conference'91, pages 137–149. ICOT, Tokyo, Sept. 1991.
M. Carlsson. Design and Implementation of an OR-Parallel Prolog Engine. Phd thesis, SICS, 1990.
C. J. Cheney. A nonrecursive list compacting algorithm. Communications of ACM, 11(13):677–678, Nov. 1970.
B. Demoen. On the transformation of a prolog program to a more efficient binary program. Technical Report 130, K.U.Leuven, Dec. 1990.
R. A. O'Keefe. The Craft of Prolog. MIT Press, 1990.
P. Tarau. Program transformations and WAM-support for the compilation of definite metaprograms. In Proceedings of the Russian Conference of Logic Programming. St-Petersbourg, Sept. 1991.
P. Tarau. A simplified abstract machine for the execution of binary metaprograms. In Proceedings of the Logic Programming Conference'91, pages 119–128. ICOT, Tokyo, Sept. 1991.
P. Tarau and M. Boyer. Elementary Logic Programs. In P. Deransart and J. Maluszyński, editors, Proceedings of Programming Language Implementation and Logic Programming, number 456 in Lecture Notes in Computer Science, pages 159–173. Springer, Aug. 1990.
D. Ungar and F. Jackson. Outwitting gc devils: A hybrid incremental garbage collector. OOPSLA '91 Garbage Collection Workshop Position Paper, 1991.
D. H. D. Warren. An abstract prolog instruction set. Technical Note 309, SRI International, Oct. 1983.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tarau, P. (1992). Ecological memory management in a continuation passing prolog engine. In: Bekkers, Y., Cohen, J. (eds) Memory Management. IWMM 1992. Lecture Notes in Computer Science, vol 637. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017200
Download citation
DOI: https://doi.org/10.1007/BFb0017200
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55940-5
Online ISBN: 978-3-540-47315-2
eBook Packages: Springer Book Archive