GNU Prolog versions

GNU Prolog is a free Prolog compiler with constraint solving over finite domains
1.5
Jul 31, 2021
1.4
Jul 7, 2011
Review
1.3
Mar 9, 2008
Review
1.2
Mar 12, 2008

What's new

v1.4 [Jul 7, 2011]
port to x86_64/MSVC (see src/WINDOWS64); add a configure option to control Windows HtmlHelp --disable-htmlhelp or --enable-htmlhelp[=static/dynamic]; improve a lot (and fix some bugs in) the Windows GUI Console; change location of gprologvars.bat under Windows (in install directory); increase default stack sizes (32Mb for heap, 16Mb for others); change the default setting for flag strict_iso: it is on now; add control constructs to the predicate table; modify predicate_property/2 (built_in_fd ==> built_in, add control_construct) only accepts a Head (a callable) (no longer a predicate indicator); fix a bug in the compiler (bad unification with singleton variable); fix a bug with strict_iso flag (was not passed to consult); add shebang support using #!/usr/bin/gprolog --consult-file; modify the mangling scheme for future module support (see hexgplc); fix write_term default options (now numbervars(false) and namevars(false)); fix read/1: tab and newlines are not accepted inside single/back/double quoted tokens; add additional errors to compare/3 and keysort/2; accept space under the top-level (same as ;); modify portray_clause/1-2 to add a newline at the end of the output; add acyclic_term/1 (compatibility only since GNU Prolog does not handle cyclic terms); fix write/1 to treat '$VARNAME'(Atom) as a var name only if Atom is a valid var name; rename evaluable functor atan/2 as atan2/2 and >< as xor; add evaluable functor div/2; detecop/3 error cases for | [] {}; replace type_error(variable, X) by uninstantiation_error(X) (e.g. open/3-4); add built-in term_variables/2-3 and subsumes_term/2; add some type tests on chars and codes (in number_chars/2, number_codes/2,..); fix some little bugs in the parser; add meta_predicate property to predicate_property/2; fix a memory leak in atom_concat/3 (in case of failure); add infix operator '|' (and allow it to be unquoted in read/write); improve top-level variables display adding () when needed; support the ISO multifile/1 directive; add built-ins false/0 and forall/2; detect an instantation_error in phrase/2-3; allow rounding functions to accept an integer if strict_iso is off; group all examples under a new directory 'examples'; fix a bug in read_from_codes/2 and number_codes/2; improve speed of built-in predicates on list (append, member, reverse,...).; improve CTRL+C handling under the top-level; add is_list/1 (same as list/1); add Prolog flags: dialect, home, host_os, host_vendor, host_cpu, host, arch, version, version_data, unix, argv; add preprocessor directives if/1 else/0 elif/1 endif/0; fix a bug on large ints in the byte-code for 64-bits machine; fix a bug with call/2-N; change listing/0-1 printing stream: now it is current_output; add a new stream alias: user_error associated to stderr; add evaluable functors: (a)sinh/1, (a)cosh/1, (a)tanh/1; add evaluable functors: epsilon/0, lsb/1, msb/1, popcount/1; fix compilation problem under Mac OS X Snow Leopard (force 32-bits mode); add evaluable functors: log/2, gcd/2, tan/1, atan2/2, pi/0, e/0; add built-in ground/1; rename built-in sort0 as msort; add new error detection for keysort;accept (but ignore) directive encoding/1; add xor/2 (bitwise XOR) ^/2 becomes integer exponentiation; improve randomize/0 (more different values on consecutive calls);relax the lexer to also accept 0'' (ISO requires 0''' or 0'\') is strict_iso is off; fix a bug with top-level options --entry-goal and --query-goal

Alternative downloads

Visual Prolog
Visual Prolog
rating

Comprehensive software program great to develop complex applications.

Strawberry Prolog
Strawberry Prolog
rating

Specially designed for education.

BlackBerry Native SDK
BlackBerry Native SDK
Free
rating

It is a program that enables you to build applications for BlackBerry 10.

GNU shtool
GNU shtool
Free
rating

Compilation of small but very stable and portable shell scripts.

Affinic Debugger GUI
Affinic Debugger GUI
rating

Provides ultra fast speed with an intuitive interface to maneuver the code.