And-parallel execution

Author(s): Amadeo Casas (, University of New Mexico).

This library allows and-parallel execution of goals in (Herbrand-)independent fashion. It resembles the execution rules of &-Prolog.

Usage and interface

  • Library usage:
    The AND_PARALLEL_EXECUTION flag must be set to "yes" in order to compile the engine with support for the and-parallel execution of goals. Concurrency primitives are defined in the apll library. That flag may be set to "visandor" to, in addition, add support for VisAndOr's events for deterministic parallel goals.
  • New operators defined:
    &/2 [950,xfy], &>/2 [950,xfy], &&>/2 [950,xfy], &&/2 [950,xfy], <&/1 [950,xf], <&&/1 [950,xf], &/1 [950,xf], &&/1 [950,xf], &!/2 [950,xfy], &!>/2 [950,xfy], &&!>/2 [950,xfy], &&!/2 [950,xfy], <&!/1 [950,xf], <&&!/1 [950,xf], &!/1 [950,xf], &&!/1 [950,xf], <?/1 [950,xf], &?/1 [950,xf].
  • Other modules used: