Improving the ISO Prolog Standard by Analyzing Compliance Test Results

  • Péter Szabó
  • Péter Szeredi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4079)


Part 1 of the ISO Prolog standard (ISO/IEC 13211) published in 1995 covers the core of Prolog, including syntax, operational semantics, streams and some built-in predicates. Libraries, DCGs, and global mutables are current standardization topics. Most Prolog implementations provide an ISO mode in which they adhere to the standard.

Our goal is to improve parts of the Prolog standard already published by finding and fixing ambiguities and missing details. To do so, we have compiled a suite of more than 1000 test cases covering part 1, and ran it on several free and commercial Prolog implementations. In this study we summarize the reasons of the test case failures, and discuss which of these indicate possible flaws in the standard.

We also discuss test framework and test case development issues specific to Prolog, as well as some portability issues encountered.


Test Suite Test Framework Prolog System Compatible Mode Curly Brace 
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.
    Bagnara, R.: Is the ISO Prolog standard taken seriously? The Association for Logic Programming Newsletter 12(1), 10–12 (1999), Google Scholar
  2. 2.
    Bueno, F., Cabeza, D., Carro, M., Hermenegildo, M., López-García, P., Puebla, G.: The Ciao System. Reference Manual (V1.10). School of Computer Science, Technical University of Madrid (UPM) (2004),
  3. 3.
    Cervoni, L., Ed-Dbali, A., Deransart, P.: Prolog: Reference Manual. Springer, Heidelberg (1996)MATHGoogle Scholar
  4. 4.
    Deransart, P., Ed-Dbali, A.A.: Executable specification for Standard Prolog (July 5, 1996), Download
  5. 5.
    Díaz, D., Codognet, P.: GNU Prolog: Beyond Compiling Prolog to C. In: Pontelli, E., Santos Costa, V. (eds.) PADL 2000. LNCS, vol. 1753, pp. 81–92. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  6. 6.
    Diaz, D., Codognet The, P.: The GNU Prolog system and its implementation. In: ACM Symposium on Applied Computing (2), vol. 1, pp. 728–732 (2000)Google Scholar
  7. 7.
    Hodgson, J.: Validation test suite for ISO standard conformance (October 2, 1998),
  8. 8.
    Intelligent Systems Laboratory, SICS, PO Box 1263, S-164 28 Kista, Sweden. SICStus Prolog User’s Manual (for version 3.12.3) (October 2005),
  9. 9.
    ISO. ISO/IEC 13211-1. International Standard, Invormation technology – Programming languages – Prolog – Part 1: General core, 1 edition, 1995.Google Scholar
  10. 10.
    Santos-Costa, V., Damas, L., Reis, R., Azevedo, R.: The Yap Prolog User’s Manual. Universidade do Porto and COPPE Sistemas (2006),
  11. 11.
    Wielemaker, J.: An overview of the SWI-Prolog programming environment. In: Mesnard, F., Serebenik, A. (eds.) Proceedings of the 13th International Workshop on Logic Programming Environments, Heverlee, Belgium, pp. 1–16. Katholieke Universiteit Leuven. CW 371 (December 2003)Google Scholar
  12. 12.
    Wielemaker, J.: SWI-Prolog 5.6.4 Reference Manual. Human-Computer Studies (2006),

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Péter Szabó
    • 1
  • Péter Szeredi
    • 1
  1. 1.Department of Computer Science and Information TheoryBudapest University of Technology and EconomicsBudapestHungary

Personalised recommendations