B-Prolog 7.3

Version of implementation B-Prolog of programming language Prolog

A version of B-Prolog, released on October 1, 2009.

Changes:

  • Positive (X in R) and negative (X notin R) table constraints (here X is an n-tuple (X1,…,Xn), and R is a table defined as a set of n-tuples).
  • Support of table modes. A table declaration takes the form ‘:-table p(M1,…,Mn):N.’ where p/n is a predicate, Mi is a mode (which can be ‘min’,’max’,’+’,’-‘,or ‘?’), and N is a limit on the number of answers to be tabled. If no limit is given, then it is assumed that only one answer is tabled.
  • Iteration built-ins: foreach(Iterators,LocalVars,Goal) and foreach(Iterators,LocalVars,Accumulators,Goal)
  • New global constraints: post_neqs/1 and post_disjunctive_tasks/1.
  • Time events are handled with top priority.
  • Binary equality constraints are further specialized.
  • Added global constraints: serialized/2, assignment/2, and assignment0/2.
  • Var in D and Var notin D can occur in Boolean constraints.
  • The unknown flag works again.
  • Improved version of call_cleanup/2.
  • Bug fixes in the compiler and in the glpk interface.