Static Memory Management for Logic Programming Languages

  • Quan Phan
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4079)


Logic programming (LP) languages aim to free programmers from procedural details such as memory management tasks. One classical, automatic memory management technique in logic programming is to use a heap memory for all the structured terms and rely on backtracking and on a runtime garbage collector to reclaim memory. While efficient implementation of garbage collectors for LP languages can reuse more than 90% heap space, they introduce performance penalties to the execution of a program because the collectors need to temporarily stop the main program to do their job.


Logic Programming Memory Management Garbage Collector Logic Programming Language Program Language Design 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Aiken, A., Fahndrich, M., Levien, R.: Better static memory management: Improving region-based analysis of higher-order languages. In: SIGPLAN Conference on Programming Language Design and Implementation, pp. 174–185 (1995)Google Scholar
  2. 2.
    Cherem, S., Rugina, R.: Region analysis and Transformation for Java. In: Proceedings of the 4th international symposium on Memory management, pp. 85–96. ACM Press, New York (2004)CrossRefGoogle Scholar
  3. 3.
    Grossman, D., Morrisett, G., Jim, T., Hicks, M., Wang, Y., Cheney, J.: Region-based memory management in Cyclone. In: Proceedings of the ACM Conference on Programming Language Design and Implementation, pp. 282–293 (2002)Google Scholar
  4. 4.
    Henglein, F., Makholm, H., Niss, H.: A direct approach to control-flow sensitive region-based memory management. In: Principles and Practice of Declarative Programming, pp. 175–186 (2001)Google Scholar
  5. 5.
    Makholm, H., Sagonas, K.: On enabling the WAM with region support. In: Stuckey, P.J. (ed.) ICLP 2002. LNCS, vol. 2401, p. 163. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  6. 6.
    Mazur, N.: Compile-time garbage collection for the declarative language Mercury. PhD thesis, Dept. of Computer Science, Katholieke Universiteit Leuven (May 2004)Google Scholar
  7. 7.
    Tofte, M., Talpin, J.-P.: Region-based memory management. Information and Computation 132(2), 109–176 (1997)MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Quan Phan
    • 1
  1. 1.Department of Computer ScienceK.U. LeuvenHeverleeBelgium

Personalised recommendations