Free Prolog Compilers and Interpreters

Compilers / development systems for the Prolog programming language


Free Prolog Compilers and Interpreters

This page lists free implementations of the Prolog programming language, ie, Prolog compilers and interpreters. If you're thinking of doing some logic programming in Prolog (which is after all short for PROgramming LOGic), you may wish to check some of the free compilers and interpreters listed here.

If you are looking for a beginner's book on Prolog, The Art of Prolog, Second Edition: Advanced Programming Techniques (Logic Programming) appears to be frequently recommended.

Related Pages

Disclaimer

The information provided on this page comes without any warranty whatsoever. Use it at your own risk. Just because a program, book, document or service is listed here or has a good review does not mean that I endorse or approve of the program or of any of its contents. All the other standard disclaimers also apply.

Free Prolog Compilers and Implementations

tuProlog New

tuProlog is a Java-based Prolog meant for Internet applications. Your programs are deployed as a JAR file and can be run on any system with a Java Virtual Machine. It is designed to be lightweight with a minimal core that contains only the most essential properties of a Prolog engine, yet be configurable so that you can load predicates, functors and operators either statically or dynamically. The Prolog engine is released under the GNU LGPL.

Poplog

Poplog is a software development system that includes incremental compilers for Pop11 (a Lisp-like language with more conventional syntax), Common Lisp (compatible with CLTL2 — Common LISP: The Language, 2nd edition), Prolog (compatible with the Edinburgh definition), and Standard ML. It comes with documentation, program libraries, and teaching materials for AI and Cognitive Science. Source code for the system (as well as example code such as the source code for the famous AI program, Eliza) is included. Supported platforms include Windows, Linux, Solaris on Sparc, Solaris on Intel, Digital Unix on Alpha, AIX on PowerPCs.

C#Prolog

C#Prolog is a Prolog interpreter written in C#. It can be integrated into your C# programs. It has a command line interface, built-in DCG, XML-predicates, persistent predicates using Firebird RDBMS (see the Free Databases page), and is extensible. This is a Windows program licensed under the GNU General Public License (GPL). It is distributed in source form.

Open Prolog

Open Prolog supports many features of ISO Prolog, including disjunctive calls, negation, if-then and if-then-else, program originated catch and throw exception handling, the "logical" assert and retract of Lindholm & O'Keefe, automatic memory management and garbage collection (except for the name table), etc. It runs on Apple Macintosh machines running Mac OS 7.5.5 and later, as well as under the Classic environment of Mac OS X. The program is postcardware.

Ciao Prolog

Ciao Prolog is a GNU GPL Prolog system that supports ISO Prolog as well as various extensions, such as programming with functions, objects, threads, etc. It comes with libraries that support WWW programming, sockets, interfaces to other languages (eg C, Java, TclTk, relational databases), etc. The compiler allows you to generate architecture-independent and standalone executables. The system also includes lpdoc, an automatic document generator. Precompiled binaries are available for Windows, and the sources may be compiled for Linux, Mac OS X, SunOS, Solaris, IRIX, etc.

Visual Prolog

A freeware version of this compiler is available for Windows 3.1, Windows 95, 98, NT, OS/2, SCO Unix and Linux. The freeware licence only allows you to use it at home and in an educational institute for teaching and learning Visual Prolog. You cannot distribute your executables or use it for any commercial purpose. It also creates a banner in your executables. Licence aside, you get a GUI IDE which allows you to design and draw your user interfaces instead of coding them. Also included are input/output procedures, arithmetic and string manipulation functions, B+trees and network support, operating system functions, a layer which allows you to create portable GUI applications, etc. The optimizing compiler generates native code and performs type checking, global flow analysis, determinism checking, and possible fail detection. Unlike ISO-Prolog however, you need to declare clauses in a predicates-section before you can state them as clauses.

Kernel Prolog

From their website: Kernel Prolog is "a lightweight Java based Prolog interpreter with an innovative system of built-ins based on Fluents, a Prolog extension providing reflection and smooth interoperation with external objects." It is released under the GNU GPL, so source code is available. It also means that your programs that embed the interpreter will need to be released under GPL too, unless you pay for their commercial licence.

GNU Prolog

This Prolog compiler complies with the ISO standard for Prolog (with useful extensions like global variables, ability to interface with the operating system, etc) and produces a native binary that can be run standalone. It is smart enough to avoid linking unused built-in predicates. It also has an interactive interpreter and a Prolog debugger as well as a low-level WAM debugger. You can interface with C code (both ways). Platforms supported include Linux (i86), SunOS (sparc) and Solaris (sparc).

LPA Prolog

This is a 16 bit MSDOS implementation of Prolog that is no longer being maintained or supported. It is a traditional Edinburgh system, where you are placed in a traditional Prolog console to enter queries, etc. Note that it does not come with any documentation. (You probably should try other free implementations with better documentation and support.)

Strawberry Prolog Light Edition

The freeware version of this compiler requires you to distribute the sources of your code since it does not allow you to save the compiled executable to disk. The compiler currently runs on Windows 95/NT, and a version for Unix and Macintosh is supposed to be in the works.

SWI-Prolog

A Prolog compiler that may be used freely in a research and educational environment. It supports Edinburgh Prolog, and large parts of ISO, Quintus and SICStus Prolog. You can interface your Prolog code with C/C++ code (both ways). Both sources and binaries (Win32, almost all Unix platforms, etc) are provided.

BProlog

This is a complete system that runs Prolog programs. It is free for non-commercial applications. You can consult, list, compile, load, debug and run programs with the interpreter. You can also call C programs from Prolog and Prolog programs from C. It supports Edinburgh style programs and most of the built-ins of ISO Prolog. New to the current versions is a bi-directional interface with Java. Platforms supported include Windows, Linux, SPARC, HP, and other Unices (and clones).

Related Pages

Can't Find What You're Looking For?

Google
 

Newest Pages

Popular Pages

How to Link to This Page

It will appear on your page as:

Free Prolog Compilers and Interpreters

 

thefreecountry.com Free Programmers, Webmasters and Security Resource Site

 


 

thesitewizard.com: Free Webmaster Tutorials, Scripts and Articles

HowtoHaven.com: Free How-To Guides

thefreecountry.com: Free Programmers, Webmasters and Security Resources
If you find this site useful, please link to us.