Skip to main content Accessibility help




SWI-Prolog is neither a commercial Prolog system nor a purely academic enterprise, but increasingly a community project. The core system has been shaped to its current form while being used as a tool for building research prototypes, primarily for knowledge-intensive and interactive systems. Community contributions have added several interfaces and the constraint (CLP) libraries. Commercial involvement has created the initial garbage collector, added several interfaces and two development tools: PlDoc (a literate programming documentation system) and PlUnit (a unit testing environment).

In this article, we present SWI-Prolog as an integrating tool, supporting a wide range of ideas developed in the Prolog community and acting as glue between foreign resources. This article itself is the glue between technical articles on SWI-Prolog, providing context and experience in applying them over a longer period.



Hide All
Ambler, S. W. 2002. Mapping objects to relational databases: What you need to know and why IBM developerWorks. Accessed 16 August 2011. URL:
Anjewierden, A., Wielemaker, J. and Toussaint, C. 1990. Shelley – computer aided knowledge engineering. In Current Trends in Knowledge Acquisition, Wielinga, B., Boose, J., Gaines, B., Schreiber, G. and van Someren, M., Eds. IOS Press, Amsterdam, 4159.
Appleby, K., Carlsson, M., Haridi, S. and Sahlin, D. 1988. Garbage collection for Prolog based on WAM. Communications of the ACM 31 (6), 719741.
Bellifemine, F., Poggi, A. and Rimassa, G. 2001. Developing multi-agent systems with a FIPA-compliant agent framework. Softw: Practice and Experience 31 (2), 103128.
Bendisposto, J., Endrijautzki, I., Leuschel, M. and Schneider, D. 2009. A semantics-aware editing environment for Prolog in Eclipse. CoRR. Accessed 17 August 2011. URL:
Bowen, D. L., Byrd, L. M. and Clocksin, W. 1983. A portable Prolog compiler. In Proc. Logic Programming Workshop '83, Pereira, L. M., Ed. Universidade Nova de Lisboa, Lisbon, Portugal.
Calejo, M. 2004. Interprolog: Towards a declarative embedding of logic programming in Java. In Proc. JELIA, Alferes, J. J. and Leite, J. A., Eds. Lecture Notes in Computer Science, vol. 3229. Springer-Verlag, Berlin, Germnay, 714717.
da Silva, A. F. and Costa, V. S. 2007. Design, implementation, and evaluation of a dynamic compilation framework for the YAP system. In Proc. ICLP, Dahl, V. and Niemelä, I., Eds. Lecture Notes in Computer Science, vol. 4670. Springer-Verlag, Berlin, Germany, 410424.
De Koninck, L., Schrijvers, T. and Demoen, B. 2006. INCLP() – Interval-based nonlinear constraint logic programming over the reals. In WLP '06: Proc. 20th Workshop on Logic Programming, Fink, M., Tompits, H. and Woltran, S., Eds. T.U.Wien, Austria, INFSYS Res. Rep. 1843-06-02. Vienna, Austria, 91100.
Demoen, B. 2002. Dynamic Attributes, Their hProlog Implementation, and a First Evaluation. Rep. CW 350. Department of Computer Science, K.U. Leuven, Leuven, Belgium. October. Accessed 16 August 2011. URL:
Draxler, C. 1991. Accessing relational and NF 2 databases through database set predicates. In ALPUK91: Proc. 3rd UK Annual Conference on Logic Programming, Edinburgh, UK, Wiggins, G. A., Mellish, C., and Duncan, T., Eds. Workshops in Computing. Springer-Verlag, Berlin, Germany, 156173.
Frühwirth, T. 1998. Theory and practice of constraint handling rules. Journal of Logic Programming, Special Issue on Constraint Logic Programming 37 (1–3), 95138.
Graham, S. L., Kessler, P. B. and McKusick, M. K. 1982. gprof: A call graph execution profiler. In Proc. SIGPLAN Symposium on Compiler Construction. ACM, New York, USA, 120126. Accessed 17 August 2011. URL:
Holzbaur, C. 1992. Metastructures vs. Attributed Variables in the Context of Extensible Unification. Tech. Rep. TR-92-23, Austrian Research Institute for Artificial Intelligence, Vienna, Austria.
Holzbaur, C. and Frühwirth, T. 2000. A Prolog constraint handling ules compiler and runtime system. Journal of Applied Artificial Intelligence, 14 (4), 369388.
Lassila, O. and Swick, R. R. 1999. Resource description framework (RDF) model and specification. Recommendation, W3C Consortium. 22 February. URL:
Neumerkel, U. 1993. The Binary WAM, a Simplified Prolog Engine. Tech. Rep., Technische Universität Wien, Wien, Germany. URL:
Oren, E., Delbru, R., Gerke, S., Haller, A. and Decker, S. 2007. Activerdf: Object-oriented semantic web programming. In WWW '07: Proc. 16th International Conference on World Wide Web. ACM, New York, NY, USA, 817824.
Pereira, F. C. N. and Shieber, S. M. 1987. Prolog and Natural-Language Analysis. Number 10 in CSLI Lecture Notes. Center for the Study of Language and Information, Stanford, CA. Chicago University Press, Chicago, IL.
Raymond, E. S. 1999. Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. O'Reilly Media, Sebastopol, CA.
Schrijvers, T. 2005. Analyses, Optimizations and Extensions of Constraint Handling Rules. Ph.D. thesis, K.U. Leuven, Leuven, Belgium.
Schrijvers, T., Costa, V. S., Wielemaker, J. and Demoen, B. 2008. Towards typed Prolog. In Proc. ICLP, de la Banda, M. G. and Pontelli, E., Eds. Lecture Notes in Computer Science, vol. 5366. Springer-Verlag, Berlin, Germany, 693697.
Schrijvers, T. and Demoen, B. 2004. The K.U.Leuven CHR system: Implementation and application. In Proc. CHR '04, Selected Contributions, Frühwirth, T. and Meister, M., Eds. Universität Ulm, Fakultät für Informatik, Ulm, Germany, 812.
Schrijvers, T. and Warren, D. S. 2004. Constraint handling rules and tabled execution. In Proc. ICLP '04, Saint-Malo, France, Demoen, B. and Lifschitz, V., Eds. Lecture Notes in Computer Science, vol. 3132. Springer-Verlag, Berlin, 120136.
Schrijvers, T., Wielemaker, J. and Demoen, B. 2005. Poster: Constraint handling rules for SWI-Prolog. In W(C)LP '05: Proc. 19th Workshop on (Constraint) Logic Programming, Wolf, A., Frühwirth, T., and Meister, M., Eds. Ulmer Informatik-Berichte, vol. 2005-01. Universität Ulm, Ulm, Germany.
Szabó, P. and Szeredi, P. 2006. Improving the ISO Prolog standard by analyzing compliance test results. In Proc. ICLP, Etalle, S. and Truszczynski, M., Eds. Lecture Notes in Computer Science, vol. 4079. Springer-Verlag, Berlin, Germany, 257269.
Tarau, P. 2008. Logic engines as interactors. CoRR. Accessed 17 August 2011. URL:
Triska, M., Neumerkel, U. and Wielemaker, J. 2009. Better termination for Prolog with constraints. CoRR. WLPE 2009, Udine, Italy. Accessed 17 August 2011. URL:
Wallace, M. and Schimpf, J. 1999. Eclipse: Declarative specification and scaleable implementation. In Proc. PADL, Gupta, G., Ed. Lecture Notes in Computer Science, vol. 1551. Springer, Berlin, Germany, 365366.
Wielemaker, J. 2003. Native preemptive threads in SWI-Prolog. In Practical Aspects of Declarative Languages, Palamidessi, C., Ed. Lecture Notes in Computer Science, vol. 1551. Springer-Verlag, Berlin, Germany, 331345.
Wielemaker, J. and Anjewierden, A. 2002. An architecture for making object-oriented systems available from Prolog. In Proc. WLPE. 97–110. Accessed 17 August 2011. URL:
Wielemaker, J. and Anjewierden, A. 2007. PlDoc: Wiki style literate programming for Prolog. In Proc. 17th Workshop on Logic-Based Methods in Programming Environments, Hill, P. and Vanhoof, W., Eds. 16–30. Accessed 17 August 2011. URL:
Wielemaker, J., Hildebrand, M., van Ossenbruggen, J. and Schreiber, G. 2008. Thesaurus-based search in large heterogeneous collections. In Proc. International Semantic Web Conference, Sheth, A. P., Staab, S., Dean, M., Paolucci, M., Maynard, D., Finin, T. W., and Thirunarayan, K., Eds. Lecture Notes in Computer Science, vol. 5318. Springer-Verlag, Berlin, Germany, 695708.
Wielemaker, J., Huang, Z. and van der Meij, L. 2008. SWI-Prolog and the web. Theory and Practice of Logic Programming 8 (3), 363392.
Wielemaker, J. and Neumerkel, U. 2008. Precise garbage collection in Prolog. In Proc. CICLOPS '08. Linares, Manuel Carro and Demoen, Bart, Eds. Udine, Italy. Accessed 12 and 13 December 2008. URL:
Wielemaker, J., Schreiber, G. and Wielinga, B. 2003. Prolog-based infrastructure for RDF: Performance and scalability. In Semantic Web – Proc. ISWC '03, Sanibel Island, FL, Fensel, D., Sycara, K., and Mylopoulos, J., Eds. Lecture Notes in Computer Science, vol. 2870. Springer-Verlag, Berlin, Germany, 644658.


Related content

Powered by UNSILO




Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed.