- max(+A, +B, -C) is det
- C is unified with the max of A and B.
- min(+A, +B, -C) is det
- C is unified with the min of A and B.
- max_of_list(+L, -M) is det
- M is uinified with the maximum of elements in L.
- min_of_list(+L, -M) is det
- M is uinified with the minimum of elements in L.
- completing_options(+X:list, +Y:list, -Z:list) is det
- Update options list Y with X to Z.
- if(+X, +Y, +Z) is nondet
- Meta predicate for conditional sentences.
- listp(+X) is det
- True if X is [] or [_|_].
- prepend(?A, -X, -Y) is det
- roughly works like
flatten(A, B)
, append(B, Y, X)
.
- verbatim_skip(+X, +Y, +A, -B) is det
- B is unified so that
append([X, _, Y, B], A)
.
Intended use is to skip a long comment like /* ... */
in TeX with X=`/*`, Y=`/*`.
- smash(+X:text) is det
- Write all elements of text to the standard output
ignoring the null byte code.
- smash(+X:text, -Y:string) is det
- Same as smash/1, but unify Y with the output string instead.
- smash_codes(+X:text, -Y:codes) is det
- Same as smash/2, but unify Y with the output codes instead.
- zip(?X:list, ?Y:list, ?Z:list) is det
- Zip X and Y into Z with comma (,).
?-
zip([a,b],[x,y], R)
, zip(A, X, R)
.
Undocumented predicates
The following predicates are exported, but not or incorrectly documented.
- ahead_compare(Arg1, Arg2, Arg3, Arg4)
- associative_comma(Arg1, Arg2, Arg3)
- comma_list(Arg1, Arg2)
- kleene_star(Arg1, Arg2, Arg3)
- kleene_star_greedy(Arg1, Arg2, Arg3)
- kleene_plus_greedy(Arg1, Arg2, Arg3)
- kleene_string_codes(Arg1, Arg2, Arg3)
- term_codes(Arg1, Arg2)
- term_codes(Arg1, Arg2, Arg3)
- concat(Arg1, Arg2)
- flatten(Arg1, Arg2, Arg3)
- pipe_create(Arg1, Arg2)
- pipe_create(Arg1, Arg2, Arg3)
- pipe_to_obj(Arg1, Arg2)
- obj_to_pipe(Arg1, Arg2)
- assocq(Arg1, Arg2, Arg3)
- memq(Arg1, Arg2)
- clear(Arg1, Arg2)
- clear(Arg1, Arg2, Arg3)
- collect(Arg1, Arg2, Arg3)
- current(Arg1, Arg2, Arg3)
- env(Arg1, Arg2, Arg3)
- herbrand(Arg1, Arg2)
- herbrand(Arg1, Arg2, Arg3)
- herbrand(Arg1, Arg2, Arg3, Arg4)
- herbrand0(Arg1, Arg2)
- herbrand_in_context(Arg1, Arg2)
- herbrand_in_context(Arg1, Arg2, Arg3)
- id(Arg1, Arg2)
- if(Arg1, Arg2)
- listcast(Arg1, Arg2)
- listsubst(Arg1, Arg2, Arg3)
- ordered_pair(Arg1, Arg2, Arg3)
- paragraph(Arg1, Arg2)
- peek(Arg1, Arg2, Arg3)
- peek(Arg1, Arg2, Arg3, Arg4)
- remove(Arg1, Arg2, Arg3)
- remove_last(Arg1, Arg2, Arg3)
- smash_string(Arg1, Arg2)
- term_string0(Arg1, Arg2)
- pred_term_smash(Arg1, Arg2, Arg3)
- term_smash(Arg1, Arg2)
- term_smash0(Arg1, Arg2)
- fst(Arg1, Arg2)
- fst(Arg1, Arg2, Arg3)
- snd(Arg1, Arg2)
- snd(Arg1, Arg2, Arg3)
- split(Arg1, Arg2)
- split(Arg1, Arg2, Arg3)
- split(Arg1, Arg2, Arg3, Arg4)
- split(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6)
- split_rest(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6)
- stack_init
- split_string_by_word(Arg1, Arg2, Arg3)
- scan_prefix(Arg1, Arg2, Arg3, Arg4)
- scan_prefix(Arg1, Arg2, Arg3, Arg4, Arg5)
- remove_comment(Arg1, Arg2)
- remove_comment(Arg1, Arg2, Arg3)
- bi_reverse(Arg1, Arg2, Arg3)
- stack_pop(Arg1, Arg2)
- stack_push(Arg1)
- stack_push(Arg1, Arg2)
- stack_top(Arg1)
- stack_top(Arg1, Arg2)
- stack_update(Arg1)
- residue(Arg1, Arg2, Arg3)
- stack_update(Arg1, Arg2)
- union(Arg1, Arg2)
- flatten_dl(Arg1, Arg2, Arg3)
- herbrand_opp(Arg1, Arg2)
- herbrand_opp(Arg1, Arg2, Arg3)
- variant(Arg1, Arg2, Arg3, Arg4)
- cons(Arg1, Arg2, Arg3)