Unification-free execution of well-moded and well-typed Prolog programs

  • M. R. K. Krishna Rao
  • R. K. Shyamasundar
Contributed Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 983)


In this paper, a static analysis of Prolog programs has been proposed to improve the efficiency by replacing run-time unification with matching. Programs for which run-time unification can be replaced by matching are called unification-free programs. We propose a set of sufficient conditions for unification-freedom improving the existing results and discuss the application of our results in improving WAM code of Prolog programs. Permutation and PRESS (a system developed at Edinburgh for solving symbolic equations) and programs flatten-dl, quick-sort-dl using difference-lists are example programs which can be handled by our results but not by the earlier results.


Logic Program Output Position Output Term Prolog Program Type Judgement 
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. 1.
    H. Ait-Kaci (1990), The WAM: a (real) tutorial, Tech. Rep., DIGITAL, Paris.Google Scholar
  2. 2.
    K.R. Apt and S. Etalle (1993), On the unification free Prolog programs, Proc. MFCS'93, Lect. Notes in Comp. Sci., 711, pp. 1–19, Springer-Verlag.Google Scholar
  3. 3.
    K.R. Apt and A. Pellegrini (1992), Why the occur-check is not a problem, Proc. of PLILP'92, Lect. Notes in Comp. Sci., 631, pp. 69–86, Springer-Verlag.Google Scholar
  4. 4.
    I. Attali and P. Franchi-Zannettacci (1988), Unification-free execution of TYPOL programs by semantic attribute evaluation, Proc. Joint Intl. Conf. and Symp. on Logic Prog., JICSLP'88, pp. 160–177, MIT Press.Google Scholar
  5. 5.
    F.Bronsard, T.K. Lakshman and U.S. Reddy (1992), A framework of directionality for proving termination of logic programs, Proc. Joint Intl. Conf. and Symp. on Logic Prog., JICSLP'92, pp. 321–335, MIT Press.Google Scholar
  6. 6.
    P. Deransart and J. Maluszinski (1985), Relating Logic Programs and Attribute Grammars, Journal of Logic Programming 2, pp. 119–155.Google Scholar
  7. 7.
    S. Etalle (1994), More (on) unification-free Prolog programs, manuscript, CWI Amsterdam, September.Google Scholar
  8. 8.
    M.R.K. Krishna Rao and R.K. Shyamasundar (1994), Unification-free execution of well-moded and well-typed Prolog programs, Technical Report, TIFR Bombay, April. Revised in June 1995.Google Scholar
  9. 9.
    J. W. Lloyd (1987), Foundations of Logic Programming, Springer-Verlag.Google Scholar
  10. 10.
    M. Marchiori (1994), Localization of unification freedom through matching directions, Proc. Intl. Logic Prog. Symp., ILPS'94, MIT Press.Google Scholar
  11. 11.
    J. Maluszinski and H.J. Komorowski (1985), Unification-free execution of Prolog programs, Proc. IEEE Symp. on Logic Programming, pp. 78–86.Google Scholar
  12. 12.
    L. Sterling and M. Codish (1987), PRESSing for parallelism: a Prolog program made concurrent, in E. Shapiro (ed.), Concurrent Prolog: collected papers, Vol. 2, pp. 304–349, MIT press.Google Scholar
  13. 13.
    L. Sterling and E. Shapiro (1986), Art of Prolog, MIT Press.Google Scholar
  14. 14.
    D.H.D. Warren (1983), An abstract Prolog instruction set, Tech. Rep., SRI International.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • M. R. K. Krishna Rao
    • 1
    • 2
  • R. K. Shyamasundar
    • 1
  1. 1.Computer Science GroupTata Institute of Fundamental ResearchColaba, BombayIndia
  2. 2.Max-Planck-Institut für InformatikSaarbrückenGermany

Personalised recommendations