Did you know ... Search Documentation:
Contributors to SWI-Prolog

If you want to know all the people who contributed to SWI-Prolog you should scan the sources and ChangeLog files. Here we list the more frequent or significant contributions. Contact Jan Wielemaker if you want to be put on, removed from this list or you have other suggestions. People are listed in alphabetical order.

Authors are people who contributed new code or (many) patches

  • Anjo Anjewierden (initial developer of XPCE, the SWI-Prolog native graphics system)
  • Anne Ogborn (website, tutorials, lots of comments)
  • Benoit Desouter (initial version of tabling)
  • Carlo Capelli (Qt-based console)
  • Danielle Church (Refactoring C-core; allow VM as set of functions)
  • Degski (FANN, Windows porting)
  • Fabrizio Riguzzi (initial version of mode directed tabling)
  • Giorgos Stoilos (isub/4: fuzzy string matching)
  • Jan Wielemaker (main developer and maintainer)
  • Jan van der Steen (SSL interface)
  • Jeff Rosenwald (TIPC interface, Google protocol buffers)
  • Joachim Schimpf (sharing ECLiPSe code and aligning APIs with ECLiPSe for strings, rationals and IEEE 754 floats.
  • Keri Harris (testing, patches, MinGW port, lock free tables)
  • Kuniaki Mukai (implementation of =@=/2 (variant/2)
  • Leslie de Koninck (CLP(QR) port)
  • Marcus Uneson (library(optparse))
  • Markus Triska (CLP(FD), other (constraint) libraries and SSL enhancements)
  • Matt Lilley (testing, patches, HTTP proxies, CQL, SSL enhancements)
  • Nicos Angelopoulos (R-interface, discussion about embedding other languages)
  • Paul Singleton (JPL, interface to Java)
  • Paulo Moura (provided library(yall), Macports maintainer)
  • Peter Ludemann (pcre, archive, C++ interface enhancements and a lot of testing)
  • Randy Sharp (fixing many typos in the documentation; ongoing work)
  • Raivo Laanemets (wasm port)
  • Richard O'Keefe (sort/2, libraries, extensive comments)
  • Rick Workman (IEEE 754 floats and testing)
  • Roberto Bagnara and Abramo Bagnara (MinGW port, helped fixing many bugs)
  • Sebastian Sardina (enhancements and debugging JPL)
  • Samer Abdallah (OSC, MIDI, Random and Matlab interfaces)
  • Sergey Tikhonov (testing multi-threading, patches)
  • Tom Schrijvers (CHR, initial constraint libraries)
  • Torbjörn Lager (Pengines)
  • Ulrich Neumerkel (testing, `purification', patches)
  • Uwe Lesta (interface to C#)
  • Vitor Santos Costa (various libraries copied from YAP)
  • Willem Robert van Hage (space package: multi-dimensional indexing)
  • Wouter Beek (website, many enhancements and bug reports, discussion)

Package Maintainers

  • Eugeniy Meshcheryakov - Official Ubuntu package
  • Yves Raimond - Debian PPA (with Eugeniy)
  • Lev Lamberov - Debian packages
  • Galileo Sartor - Snap package specification
  • Matthias Gondan - MSYS2 package

Other Contributors

  • Bart Demoen (advice, notably constraint infrastructure)
  • Bob Wielinga (finding projects to support SWI-Prolog)
  • CWI.png (providing a new home)
  • DataChemist.png, developer of TerminusDB sponsored (February 2020) the main development machine.
  • Discourse_logo.png (forum software and hosting)
  • Guus Schreiber (providing a new home at the VU University, Amsterdam)
  • fastly.png Fastly.com Donates content distribution network services
  • Ian Andrich - Infrastructure support during MOOC
  • James NV Cash - Infrastructure support during MOOC
  • Jessica Chan (design of new website)
  • kyndi.png sponsors SWI-Prolog development by paying part of Jan Wielemaker's position at the university of Amsterdam. In particular Kyndi actively supports integrating XSB tabling into SWI-Prolog. Kyndi also sponsored library(yall).
  • osllogo.png Oregon State University Open Source Lab Donates US server for swi-prolog.org
  • Paulo Moura (testing, provides MacOS ports, made Logtalk available)
  • Richard Siddall (ongoing work keeping this website up)
  • securitease.png Mike Elston; testing, funding of GMP, SSL and the 5.9.x stack-shifter
  • simularity.png Simularity, Inc. Sponsored JavaPengines and RubyPengines.
  • Steve Moyle (funding of PlUnit and PlDoc)
  • Steve Reeves (design of the logo)

Open Source projects used by SWI-Prolog

  • CMake Configuration and build management
  • dtoa.c (Float <-> text conversion by David M. Gay).
  • GMP (Unbounded and rational arithmetic)
  • GNU (Linux, development tools, libraries, etc.)
  • LibYAML (A C library for parsing and emitting YAML)
  • MacPorts (Porting environment for MacOS)
  • MurmurHash (string hashing)
  • Nullsoft (Windows installer)
  • NetBSD (crypt implementation for Windows)
  • OpenSSL (secure sockets)
  • PCRE (Perl Compatible Regular Expressions)
  • SHA routines by Brian Gladman
  • Snowball NLP stemmer library
  • UnixODBC (Database connectivity on Unix)
  • utf8proc (unicode normalization)
  • X.org (Graphics on Unix)
  • Zlib (compression)
  • Qt GUI console