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