Identity lists

Author(s): Francisco Bueno.

The operations in this module handle lists by performing equality checks via identity instead of unification.

Usage and interface

Documentation on exports

PREDICATEmember_0/2
member_0(X,Xs)

True iff memberchk/2 is true.

PREDICATEmemberchk/2
memberchk(X,Xs)

Checks that X is an element of (list) Xs.

PREDICATElist_insert/2

Usage:list_insert(List,Term)

Adds Term to the end of (tail-opened) List if there is not an element in List identical to Term.

PREDICATEadd_after/4

Usage:add_after(L0,E0,E,L)

Adds element E after the first element identical to E0 (or at end) of list L0, returning in L the new list.

PREDICATEadd_before/4

Usage:add_before(L0,E0,E,L)

Adds element E before the first element identical to E0 (or at start) of list L0, returning in L the new list.

PREDICATEdelete/3

Usage:delete(List,Element,Rest)

Rest has the same elements of List except for all the occurrences of elements identical to Element.

PREDICATEsubtract/3

Usage:subtract(Set,Set0,Difference)

Difference has the same elements of Set except those which have an identical occurrence in Set0.

Usage:union_idlists(List1,List2,List)

List has the elements which are in List1 but are not identical to an element in List2 followed by the elements in List2.

Documentation on imports

This module has the following direct dependencies: