Next: Ptags
Up: Libraries
Previous: The Mode Analyser
  Index
Parallel Utilities
This library contains parallel versions of common sequential predicates.
It is loaded using
:- lib(par_util).
and it currently contains the following predicates:
- par_member(?Element, +List)
-
Parallel version of member/2, i.e. selects elements from the
given list in parallel. Note that it cannot work backwards and generate
lists like member/2 can, the list must be a proper list.
- par_delete(?Element, ?List, ?Rest)
-
Parallel version of delete/3.
- par_between(+From, +To, ?I)
-
Parallel version of between/3. Generates integers between From and
To in parallel. See also fork/2, on which it is based.
- par_maplist(+Pred, +In, ?Out)
-
Parallel version of maplist/3.
The semantics is not exactly the same as maplist/3: It does not work
backwards and it does not cope with aliasing between the In and
the Out list, since it is implemented on top of findall/3.
There will only be a performance gain if the mapping predicate does
enough computation to make the overhead pay off.
- Goal1 & Goal2
-
Parallel AND operator implemented on top of OR-parallelism.
This will only pay off for sufficiently coarse-grained
computations in Goal1 and Goal2.
Next: Ptags
Up: Libraries
Previous: The Mode Analyser
  Index
1999-08-06