Package-level declarations
Types
appendFast(+List1, +List2, -List): List is List1 followed by List2, in one step
appendLists(Lists, Result): Result is the concatenation of the lists in Lists
containsAny(+Elements, +List): an element of List matches one of Elements (without binding them)
deduplicate(+List, ?Deduplicated): standard order of terms, duplicates removed (as setof/3)
forEach(?Element, +List, +Goal): Goal (all its solutions) for each element of List, as findall(_, (member(Element, List), Goal), _), but without List in the goals of the iterations: with variable tracking, every resolution step visits the terms of the goal it belongs to, so the list would make every step as costly as it is long. Goal runs in this module: other modules are called through ::.
intersection(+Sets, -Intersection): the elements of the first list in Sets that are in all of them, in its order (elements compared as ground terms); fails if Sets is empty
minimalBySet(+Pairs, -Values): the values of the Set-Value pairs whose Set has no strict subset among the others (elements compared as ground terms), in order: minimal_set/2 over a whole collection in one step
sccs(-Sccs): strongly connected components of the attack graph, as lists of argument identifiers, in topological order (a component is only attacked by itself and by the components before it). sccs(+Ids, -Sccs): strongly connected components of the subgraph of the arguments in Ids, as lists of argument identifiers, in topological order.
sortDistinct(+List, ?Sorted): reverse standard order of terms, duplicates removed (deduplicate/2, then sort/2)
subtract(+List, +Removed, ?Rest): the elements of List not in Removed, in order (elements compared as ground terms), without the recursion of a Prolog subtract (whose frames would all keep the rest of the list)
uniqueByFirst(+Lists, ?Unique): Lists keeping, among the lists with the same first element, only the last one (in their order)