YAP 7.1.0

YAP supports several clause optimisation mechanisms, that are designed to improve execution of arithmetic and term construction built-ins.

YAP supports several clause optimisation mechanisms, that are designed to improve execution of arithmetic and term construction built-ins.

In other words, during the compilation process a clause is rewritten twice:

  1. first, perform user-defined goal_expansion as described in the predicates goal_expansion/1 and goal_expansion/2
  2. Perform expansion of some built-ins like:
    • pruning operators, like ->/2 and F>/2
    • arithmetic, including early evaluation of constant expressions
    • specialise versions for some built-ins, if we are aware of the run-time execution mode

The user has some control over this process, through some built-ins and through execution flsgs