freebsd-ports/lang/gprolog/pkg-descr
Eugene Grosbein 5973cbeb09 lang/gprolog: recover GNU Prolog under FreeBSD.
Update to version 1.4.5 released in 2020.
Make it build and run with Clang 10:

- clang has no register reservation for x86, hence patch-EnginePl_machine.h
  and -DNO_MACHINE_REG_FOR_REG_BANK to prevent using missing feature;
- add patch-Ma2Asm_x86__64__any.c fetched from upstream SourceForge
  post-release commit dealing with PIC issues;
- disable usage of spinlocks that results in a hang eating all available
  CPU cycles; fixed with -DUSE_LOCKS=1 -DUSE_RECURSIVE_LOCKS=1
  -DUSE_SPIN_LOCKS=0;
- the software uses bundled dlmalloc dated back 2011 that replaces
  functions like calloc() with own implemenations and it's calloc()
  sometimes fails to clear allocated memory; this results in SIGSEGV
  when its own hash-table implementation dereferences junk that
  supposed to be NULL pointer, so it fails to complete build;
  fixed with MMAP_CLEARS=0.

PR:		231393
2020-11-23 13:26:14 +00:00

20 lines
997 B
Text

GNU Prolog is a free Prolog compiler with constraint solving over finite
domains developed by Daniel Diaz.
GNU Prolog accepts Prolog+constraint programs and produces native binaries
(like gcc does from a C source). The obtained executable is then stand-alone.
The size of this executable can be quite small since GNU Prolog can avoid to
link the code of most unused built-in predicates. The performances of GNU
Prolog are very encouraging (comparable to commercial systems).
Beside the native-code compilation, GNU Prolog offers a classical interactive
interpreter (top-level) with a debugger.
The Prolog part conforms to the ISO standard for Prolog with many extensions
very useful in practice (global variables, OS interface, sockets,...).
GNU Prolog also includes an efficient constraint solver over Finite Domains
(FD). This opens contraint logic pogramming to the user combining the power
of constraint programming to the declarativity of logic programming.
WWW: http://www.gprolog.org/