Previous: , Up: Terms   [Contents][Index]


4.3.3 List Processing

append(L1, L2, L3)

Succeed if L3 is the concatentation of L1 and L2

append: ([T]?, [T]?, [T]?)<= | (![T], ![T], ?[T])<= |
        (?[T], ?[T], ![T])<=

reverse(L1, L2)

Succeed if L2 is the reverse of L1.

reverse : (![T?], ?[T?]) <=

sort(L1, L2)

Succeed if L2 is L1 sorted.

sort : (![T?], ?[T?]) <=

member(X, L)

Succeed if X is in L.

member : (T?, [T]?) <=

X in L

Succeed if X is in L.

in: (?T,[T])<= | (T?,![T?])<= | (?string,[string])<= | (?T,{T}) <= 

Almost exactly the same uses as member except that it it must be given a complete list of possibly non-ground terms.

As its type indicates, in can also be used to access single character substrings of a string and ground elements of a set.