Dynamic revision of choice points during garbage collection in prolog [II/III]

  • Jean François Pique
Logic Programming Languages II
Part of the Lecture Notes in Computer Science book series (LNCS, volume 637)


We describe a technique allowing efficient reconsideration of all the current choice points whenever the garbage collector is activated. It turned out that this extra work usually saves time since the garbage collector will have less structures to consider. Moreover this extra work will be deducted from future work, if the search tree is not pruned. This technique also allows recovery of space in the local stack of the wam, thus making garbage collection of this stack worthwhile.

There is no additional cost in space if a trail with (address,value) pairs is used. The Dynamic revision algorithm can however be implemented with a standard trail if space the same size as the trail contents is made available at garbage collection time.


Logic Program Garbage Collection Choice Point Garbage Collector Node List 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Bekkers et al. 86]
    Bekkers Y., Canet B., Ridoux O., Ungaro L., 1986, A Memory with a Real-Time Garbage Collector for Implementing Logic Programming Languages, Proc. of the third Symposium on Logic Programming Conference, IEEE.Google Scholar
  2. [Carlsson 87]
    Carlsson M., 1987, “Freeze, Indexing, and Other Implementation Issues in the WAM”, Proc. of the Fourth International Conference on Logic Programming, MIT Press, Lassez J.L. ed.Google Scholar
  3. [Colmerauer 82b]
    Colmerauer A., 1982, Prolog, Bases théoriques et développements actuels, dans TSI, vol. 2, n∘4 (AFCET-Bordas), août 1983, avec H. Kanoui et M. Van Caneghem.Google Scholar
  4. [Colmerauer 90]
    Colmerauer A., 1990, An Introduction to Prolog III, Communications of the ACM, july 90, vol 33, n 7, pp 70–90.CrossRefGoogle Scholar
  5. [Dincbas et al. 88]
    Dincbas M., Van Hentenrick P., Simonis H., Aggoun A., Graf T. and Berthier F., 1988, The Constraint Logic Programming Language CHIP, Proceedings of the International Conference on Fifth Generation Computer Systems (FGCS'88),vol 1, Ohmsha Pubishers, Tokyo, pp 693–702.Google Scholar
  6. [Jaffar 87]
    Jaffar J. and Michaylov S., 1987, Methodology and Implementation of a CLP System, Proc. 4th International Conference on Logic Programming (Melbourne 87), MIT Press, Cambridge, Mass., pp 196–218.Google Scholar
  7. [Hickey et Mudambi 89]
    Hickey T., Mudambi S., 1987, Global Compilation of Prolog, Journal of Logic Programming, vol 7, N 3, nov 1989, pp 193–230.CrossRefGoogle Scholar
  8. [Le Huitouze et Ridoux 86]
    Le Huitouze S., Ridoux O., 1986, Une expérience de réalisation du Gel et du Dif dans MALI, In Actes du Séminaire 1986Programmation en Logique, Trégastel, France, CNET, Mai 1986.Google Scholar
  9. [Morris 78]
    Morris F.L., 1978, A Time and Space Efficient Garbage Compaction Algorithm, Communications of the ACM, Vol 21, No 8.Google Scholar
  10. [Naish 85]
    Naish L., 1985, Negation and Control in Prolog, Ph. D. Thesis, Dept of Computer Science, University of Melbourne.Google Scholar
  11. [Pique 90a]
    Pique J.F., 1990, Compilation d'un prolog II modulaire, Habilitation à diriger des recherches. Université Aix-Marseille II, Groupe Intelligence Artificielle, Faculté des Sciences de Luminy.Google Scholar
  12. [Pique 90b]
    Pique J.F., 1990, Definition of a Prolog Machine with Interrupts, New Computing Techniques in Physics Research, D. Perret-Gallix & W. Wojcik ed., Editions du CNRS, Paris 1990, pp 369–379.Google Scholar
  13. [Touraïvane 88]
    Touraïvane, 1988, Récupération de mémoire dans Prolog III, Thèse de Doctorat en Informatique et Mathématiques, Université d'Aix-Marseille II, Faculté des sciences de Luminy.Google Scholar
  14. [Turk 86]
    Turk A.K., 1986, Compiler Optimizations for the Warn, Proceedings of the Third International Conference on Logic Programming, London, Springer-Verlag, Shapiro E. ed., pp 657–662.Google Scholar
  15. [Van Caneghem 86]
    Van Caneghem M., 1986, L'anatomie de Prolog II, InterEditions, Paris.Google Scholar
  16. [Warren 77]
    Warren D.H.D., 1977, Implementing Prolog: Compiling Predicate Logic Programs, Dept. of A.I. Research Reports 39 & 40, Edinburgh, May 77.Google Scholar
  17. [Warren 83]
    Warren D.H.D., 1983, An Abstract Prolog Instruction Set, Technical Note 309, Artificial Intelligence Center, SRI International, Menlo Park, Calif.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Jean François Pique
    • 1
  1. 1.Groupe Intelligence ArtificielleUniversité Aix-Marseille IIMarseille Cedex 9France

Personalised recommendations