Advertisement

A case study in deterministic prolog

  • J. D. Newmarch
Logic And Reasoning
Part of the Lecture Notes in Computer Science book series (LNCS, volume 406)

Abstract

Deterministic Prolog programs can now be run with significantly less memory requirements and greater speed than used to be the case. Nevertheless there are problems for which the natural translation into Prolog does not give a deterministic program, and even when a specialised version is created which should be deterministic the Prolog compilers are unable to take advantage of this. This paper considers such a class of problem and shows how programs in this class can be automatically transformed and compiled into very space and time efficient programs.

Kwywords and phrases

Prolog determinism WAM compilation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    Abramson, H. “Sequential and Concurrent Deterministic Logic Grammars” 389–395 Proc. Third Int. Logic Programming Conf., London, 1986Google Scholar
  2. [2]
    Appleby, K., Haridi, S. and Sahlin, D. “Garbage Collection for Prolog Based on WAM” Swedish Institute of Computer Science Report 86009Google Scholar
  3. [3]
    Bowen, D., Byrd, L. and Cloksin, W. “A Portable Prolog Compiler” Proc. Logic Programming Workshop, Portugal 1983Google Scholar
  4. [4]
    Bruynooghe, M. “Garbage Collection in Prolog Interpreters” in “Implementations of Prolog”, ed J. A. Campbell, 259–267, Ellis Horwood, 1984Google Scholar
  5. [5]
    Bruynoghe, M., Janssens, G., Callebaut, A., and Demoen, B. “Abstract Interpretation: Towards the Global Optimisation of Prolog Programs” 192–204 IEEE Fourth Symp. Logic Prog. 1987Google Scholar
  6. [6]
    Carlsson, M. “On Compiling Indexing and Cut for the WAM” Swedish Institute of Computer Science Report 86011Google Scholar
  7. [7]
    Clocksin, W.F., and Mellish, C.S. “Programming in Prolog”, Springer-Verlag, 1981Google Scholar
  8. [8]
    Debray, S. and Warren, D.S. “Detection and Optimisation of Functional Computations in Prolog” 490–512 Proc. Third Int. Logic Programming Conf., London, 1986Google Scholar
  9. [9]
    Hutchings, A.M.J. (ed) et al “Edinburgh Prolog (The New Implementation) User's Manual” AI Applications Institute, Univ Edinburgh, 1987Google Scholar
  10. [10]
    Maluszynski, J. and Komorowski, H.J. “Unification-Free Execution of Logic Programs” 78–86, Proc 1985 IEEE Symp. Logic ProgrammingGoogle Scholar
  11. [11]
    Mellish, C.S. ‘Some Global Optimisations for a Prolog Compiler” J. Logic Programming 43–66 1 1985Google Scholar
  12. [12]
    Quintus Computer Systems “Quintus Prolog User Manual”, 1986Google Scholar
  13. [13]
    Turk, A.K. “Compiler Optimisations for the WAM” 657–662 Proc. Third Int. Logic Programming Conf., London, 1986Google Scholar
  14. [14]
    Warren. D.H.D. “An Abstract Prolog Instruction Set” SRI Technical Note 309, 1983Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • J. D. Newmarch
    • 1
  1. 1.School of Information Science and EngineeringCanberra College of Advanced EducationBelconnenAustralia

Personalised recommendations