next up previous index
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 up previous index
Next: Ptags Up: Libraries Previous: The Mode Analyser   Index

1999-08-06