The Life of a Logic Programming System

  • Vítor Santos Costa
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5366)


Logic Programming and the Prolog language have a major role in Computing. Prolog, and its derived languages, have been widely used in a impressive variety of application domains. Thus, a bit of the history of Logic Programming reflects in the history of systems such as Dec-10 Prolog [32], M-Prolog [15], C-Prolog [19], Quintus Prolog [20], SICStus Prolog [6], BIM-Prolog [17], ECLiPSe [1], BinProlog [30], SWI-Prolog [34], CIAO [14], and B-Prolog [35], to mention but a few. I briefly present the evolution of one such system, YAP, and present a personal perspective on the challenges ahead for YAP (and for Logic Programming).


Logic Program Logic Programming Personal Perspective Query Evaluation Inductive Logic Programming 
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.
    Aggoun, A., Chan, D., Dufresne, P., Falvey, E., Grant, H., Herold, A., Macartney, G., Meier, M., Miller, D., Mudambi, S., Perez, B., van Rossum, E., Schimpf, J., Tsahageas, P.A., de Villeneuve, D.H.: ECLiPSe 3.5 User Manual. ECRC (December 1995)Google Scholar
  2. 2.
    Arnold, D.J., Krauwer, S., Rosner, M., des Tombe, L., Varile, G.B.: The < c,a > ,t framework in eurotra: a theoretically committed notation for mt. In: Proceedings of the 11th conference on Computational linguistics, Morristown, NJ, USA, pp. 297–303. Association for Computational Linguistics (1986)Google Scholar
  3. 3.
    Beer, J.: Concepts, Design, and Performance Analysis of a Parallel Prolog Machine. LNCS, vol. 404. Springer, Heidelberg (1989)CrossRefzbMATHGoogle Scholar
  4. 4.
    Bueno, F., Banda, M.G.d.l., Hermenegildo, M.V.: Effectiveness of Abstract Interpretation in Automatic Parallelization: A Case Study in Logic Programming. In: ACM TOPLAS (1998)Google Scholar
  5. 5.
    Camacho, R.: Learning stage transition rules with Indlog. In: Proceedings of the 4th International Workshop on Inductive Logic Programming GMD-Studien, Gesellschaft für Mathematik und Datenverarbeitung MBH, vol. 237, pp. 273–290 (1994)Google Scholar
  6. 6.
    Carlsson, M., Widen, J.: SICStus Prolog User’s Manual. Technical report, Swedish Institute of Computer Science, SICS Research Report R88007B (1988)Google Scholar
  7. 7.
    Castro, L.F., Santos Costa, V.: Understanding Memory Management in Prolog Systems. In: Codognet, P. (ed.) ICLP 2001. LNCS, vol. 2237, pp. 11–26. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  8. 8.
    Chen, W., Warren, D.S.: Query evaluation under the well-founded semantics. In: Proc. of 12th PODS, pp. 168–179 (1993)Google Scholar
  9. 9.
    Dawson, S., Ramakrishnan, C.R., Ramakrishnan, I.V., Sagonas, K.F., Skiena, S., Swift, T., Warren, D.S.: Unification factoring for efficient execution of logic programs. In: POPL 1995, pp. 247–258. ACM Press, New York (1995)Google Scholar
  10. 10.
    De Raedt, L., Kimmig, A., Toivonen, H.: ProbLog: A probabilistic Prolog and its application in link discovery. In: Veloso, M. (ed.) IJCAI, pp. 2462–2467 (2007)Google Scholar
  11. 11.
    Demoen, B., Nguyen, P.-L.: So Many WAM Variations, So Little Time. In: Palamidessi, C., Moniz Pereira, L., Lloyd, J.W., Dahl, V., Furbach, U., Kerber, M., Lau, K.-K., Sagiv, Y., Stuckey, P.J. (eds.) CL 2000. LNCS, vol. 1861, pp. 1240–1254. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  12. 12.
    Filgueiras, M.: A prolog interpreter working with infinite terms. In: Implementations of Prolog, Campbell, pp. 250–258 (1984)Google Scholar
  13. 13.
    Gupta, G., Pontelli, E., Ali, K., Carlsson, M., Hermenegildo, M.: Parallel Execution of Prolog Programs: A Survey. ACM Transactions on Programming Languages and Systems 23(4), 1–131 (2001)CrossRefGoogle Scholar
  14. 14.
    Hermenegildo, M.V., Bueno, F., Carro, M., López, P., Morales, J.F., Puebla, G.: An overview of the ciao multiparadigm language and program development environment and its design philosophy. In: Degano, P., De Nicola, R., Meseguer, J. (eds.) Concurrency, Graphs and Models. LNCS, vol. 5065, pp. 209–237. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  15. 15.
    Koves, P., Szeredi, P.: Getting the Most Out of Structure-Sharing. SZKI. In: Collection of Papers on Logic Programming (November 1993)Google Scholar
  16. 16.
    Krall, A.: The vienna abstract machine. The Journal of Logic Programming 1-3 (October 1996)Google Scholar
  17. 17.
    Mariën, A.: Improving the Compilation of Prolog in the Framework of the Warren Abstract Machine. PhD thesis, Katholiek Universiteit Leuven (September 1993)Google Scholar
  18. 18.
    Motik, B., Sattler, U., Studer, R.: Query answering for owl-dl with rules. In: McIlraith, S.A., Plexousakis, D., van Harmelen, F. (eds.) ISWC 2004. LNCS, vol. 3298, pp. 549–563. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  19. 19.
    Pereira, F.: C-Prolog 1.5 User Manual. SRI International, Menlo Park (1987)Google Scholar
  20. 20.
    Quintus Prolog User’s Guide and Reference Manual—Version 6 (April 1986)Google Scholar
  21. 21.
    Richardson, M., Domingos, P.: Markov logic networks. Machine Learning 62, 107–136 (2006)CrossRefGoogle Scholar
  22. 22.
    Rocha, R., Silva, F., Costa, V.S.: On Applying Or-Parallelism and Tabling to Logic Programs. Theory and Practice of Logic Programming Systems 5(1-2), 161–205 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Sagonas, K.F., Swift, T., Warren, D.S., Freire, J., Rao, P.: The XSB programmer’s manual. Technical report, State University of New York at Stony Brook (1997),
  24. 24.
    Santos Costa, V.: Implementação de Prolog. Provas de aptidão pedagógica e capacidade científica, Universidade do Porto (December 1988)Google Scholar
  25. 25.
    Santos Costa, V.: Optimising bytecode emulation for prolog. In: Nadathur, G. (ed.) PPDP 1999. LNCS, vol. 1702, pp. 261–267. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  26. 26.
    Santos Costa, V., Sagonas, K., Lopes, R.: Demand-driven indexing of prolog clauses. In: Dahl, V., Niemelä, I. (eds.) ICLP 2007. LNCS, vol. 4670, pp. 305–409. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  27. 27.
    Sato, T., Kameya, Y.: Parameter learning of logic programs for symbolic-statistical modeling. Journal of Artificial Intelligence Research 15, 391–454 (2001)MathSciNetzbMATHGoogle Scholar
  28. 28.
    Silva, A.F.d., Santos Costa, V.: Design, implementation, and evaluation of an dynamic compilation framework for the yap system. In: Dahl, V., Niemelä, I. (eds.) ICLP 2007. LNCS, vol. 4670, Springer, Heidelberg (2007)Google Scholar
  29. 29.
    Srinivasan, A.: The Aleph Manual (2001)Google Scholar
  30. 30.
    Tarau, P.: BinProlog 4.00 User Guide. Technical Report 95-1, Département d’Informatique, Université de Moncton (February 1995),
  31. 31.
    van Roy, P.: Aquarius Prolog. IEEE Computer (1992)Google Scholar
  32. 32.
    Warren, D.H.D.: Applied Logic—Its Use and Implementation as a Programming Tool. PhD thesis, Edinburgh University, Available as Technical Note 290, SRI International (1977)Google Scholar
  33. 33.
    Warren, D.H.D.: An Abstract Prolog Instruction Set. Technical Note 309, SRI International (1983)Google Scholar
  34. 34.
    Wielemaker, J.: SWI-Prolog 5.1: Reference Manual. SWI, University of Amsterdam, Roetersstraat 15, 1018 WB Amsterdam, The Netherlands (1997-2003)Google Scholar
  35. 35.
    Zhou, N.-F., Takagi, T., Kazuo, U.: A Matching Tree Oriented Abstract Machine for Prolog. In: Warren, D.H.D., Szeredi, P. (eds.) Proceedings of the Seventh International Conference on Logic Programming, pp. 158–173. MIT Press, Cambridge (1990)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Vítor Santos Costa
    • 1
  1. 1.DCC-FCUP & CRACSUniversity of PortoPortugal

Personalised recommendations