On the Portability of Prolog Applications

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


The non-portability of Prolog programs is widely considered one of the main problems facing Prolog programmers. Although since 1995, the core of the language is covered by the ISO standard 13211-1, this standard has not been sufficient to support large Prolog applications. As an approach to address this problem, since 2007, YAP and SWI-Prolog have established a basic compatibility framework. The aim of the framework is running the same code on Edinburgh-based Prolog systems rather than having to migrate an application. This article describes the implementation and evaluates this framework by studying how it can be used on a number of libraries and an important application.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    AI International ltd., Berkhamsted, UK. Quintus Prolog, User Guide and Reference Manual (1997)Google Scholar
  2. 2.
    Bagnara, R.: Is the ISO prolog standard taken seriously? ALP newsletter, 10–12 (February 1999)Google Scholar
  3. 3.
    Bagnara, R., Carro, M.: Foreign language interfaces for Prolog: A terse survey. ALP newsletter (May 2002)Google Scholar
  4. 4.
    Carlsson, M., Widén, J., Andersson, J., Anderson, S., Boortz, K., Nilson, H., Sjöland, T.: SICStus Prolog (v3) Users’s Manual. SICS, PO Box 1263, S-164 28 Kista, Sweden (1995)Google Scholar
  5. 5.
    Demoen, B.: Dynamic attributes, their hProlog implementation, and a first evaluation. Report CW 350, Dep. of Comp. Science, K.U.Leuven, Leuven, Belgium (October 2002)Google Scholar
  6. 6.
    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., Bevilacqua, V. (eds.) Concurrency, Graphs and Models. LNCS, vol. 5065, pp. 209–237. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Holzbaur, C.: Metastructures versus attributed variables in the context of extensible unification. In: Bruynooghe, M., Wirsing, M. (eds.) PLILP 1992. LNCS, vol. 631, pp. 260–268. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  8. 8.
    De Koninck, L., Schrijvers, T., Demoen, B.: A flexible search framework for CHR. In: Schrijvers, T., Frühwirth, T. (eds.) Constraint Handling Rules. LNCS, vol. 5388, pp. 16–47. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  9. 9.
    SUN Microsystems. The java compatibility test tools (2001)Google Scholar
  10. 10.
    Moura, P.: Logtalk - Design of an Object-Oriented Logic Programming Language. PhD thesis, Department of Informatics, University of Beira Interior, Portugal (September 2003)Google Scholar
  11. 11.
    Pontelli, E., Schrijvers, T., Demoen, B., Moura, P., Swift, T.: Uniting the Prolog Community. ALP newsletter (February 2009)Google Scholar
  12. 12.
    Puls, T.L.: New features in Visual Prolog 7.2. In: Proceedings of the VIP-ALC 2008: Visual Prolog Applications And Language Conference, pp. 6–9. Prolog Development Center (July 2008)Google Scholar
  13. 13.
    Racine, J.: Review: The cygwin tools: A gnu toolkit for windows. Journal of Applied Econometrics 15(3), 331–341 (2000)CrossRefGoogle Scholar
  14. 14.
    Meier, M., Aggoun, A., Chan, D., et al.: SEPIA An Extendible Prolog System. In: 11th World Computer Congress IFIP 1989 (August 2009)Google Scholar
  15. 15.
    Sagonas, K., Swift, T., Warren, D.S.: XSB as an Efficient Deductive Database Engine. In: Proc. of the ACM SIGMOD Int. Conf. on the Management of Data, pp. 442–453 (1994)Google Scholar
  16. 16.
    Costa, V.S., Damas, L., Reis, R., Azevedo, R.: YAP User’s Manual (2002),
  17. 17.
    Schimpf, J., Shen, K.: ECLiPSe by Example. Tutorial given at CP 2007 (2007)Google Scholar
  18. 18.
    Szabó, P., Szeredi, P.: Improving the ISO prolog standard by analyzing compliance test results. In: Etalle, S., Truszczyński, M. (eds.) ICLP 2006. LNCS, vol. 4079, pp. 257–269. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  19. 19.
    Triska, M.: Generalising constraint solving over finite domains. In: Garcia de la Banda, M., Pontelli, E. (eds.) ICLP 2008. LNCS, vol. 5366, pp. 820–821. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  20. 20.
    van Noord, G.: At Last Parsing is Now Operational. In: TALN 2006 Verbum Ex Machina, Actes De La 13e Conference sur Le Traitement Automatique des Langues Naturelles, Leuven, pp. 20–42 (2006)Google Scholar
  21. 21.
    Vaughan, G.V., Elliston, B., Tromey, T., Taylor, I.L.: GNU Autoconf, Automake, and Libtool. Pearson Education (October 2000)Google Scholar
  22. 22.
    Wielemaker, J.: SWI-Prolog: Reference Manual. University of Amsterdam, VU University Amsterdam, Kruislaan 419, 1098 VA Amsterdam/De Boelelaan 1081a, 1081 HV Amsterdam (1997-2010),

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Jan Wielemaker
    • 1
  • Vítor Santos Costa
    • 2
  1. 1.VU University AmsterdamThe Netherlands
  2. 2.DCC-FCUP & CRACS-INESCUniversidade do PortoPortoPortugal

Personalised recommendations