eyeprolog 1.5.13 → 1.5.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -3
- package/test/run-regression.mjs +12 -0
- package/the-art-of-eyeprolog.md +656 -4
- package/tools/generate-predicate-reference.mjs +215 -0
- package/tools/predicate-reference.json +4672 -0
package/the-art-of-eyeprolog.md
CHANGED
|
@@ -17,9 +17,7 @@ the two.
|
|
|
17
17
|
This book is also the reference for the EyeProlog implementation. EyeProlog is a
|
|
18
18
|
standards-based reasoning system: programs use the documented and tested ISO
|
|
19
19
|
Prolog profile.
|
|
20
|
-
Chapters 38–40 define the supported ISO Prolog profile, built-ins, and execution interface
|
|
21
|
-
describe every supported built-in predicate, and document the command-line
|
|
22
|
-
interface. The explanatory chapters give the reasoning and operational context
|
|
20
|
+
Chapters 38–40 define the supported ISO Prolog profile, built-ins, libraries, and execution interface. Chapter 39 describes every supported built-in predicate in detail and also contains a generated compact contract for all **518 distinct predicate indicators** in the normal EyeProlog surface; Chapter 40 documents the command-line interface. The explanatory chapters give the reasoning and operational context
|
|
23
21
|
needed to use those details correctly.
|
|
24
22
|
|
|
25
23
|
Its subject is not syntax alone. A logic program has two inseparable aspects:
|
|
@@ -5923,7 +5921,10 @@ profile. Where a predicate is defined by ISO/IEC 13211-1:1995, EyeProlog uses it
|
|
|
5923
5921
|
standard predicate indicator; the registry also includes a few later or common
|
|
5924
5922
|
compatibility predicates identified below. Arithmetic is expressed through
|
|
5925
5923
|
`is/2` rather than output arguments on arithmetic predicates. The registry
|
|
5926
|
-
contains 129 name/arity entries across 100 names.
|
|
5924
|
+
contains 129 name/arity entries across 100 names. After the detailed core
|
|
5925
|
+
reference and the library catalog, the generated **Complete predicate indicator
|
|
5926
|
+
reference** gives one compact formal contract for every distinct core or bundled
|
|
5927
|
+
library indicator, so Chapter 39 can also be used as an alphabetical API index.
|
|
5927
5928
|
|
|
5928
5929
|
| Role | Registered predicate indicators |
|
|
5929
5930
|
| --- | --- |
|
|
@@ -6434,6 +6435,657 @@ bindings make one aligned subterm pair sufficient. For example:
|
|
|
6434
6435
|
|
|
6435
6436
|
<!-- eyeprolog-library-catalog:end -->
|
|
6436
6437
|
|
|
6438
|
+
<!-- eyeprolog-predicate-reference:start -->
|
|
6439
|
+
#### Complete predicate indicator reference
|
|
6440
|
+
|
|
6441
|
+
This generated reference covers all **518 distinct predicate indicators** in the normal EyeProlog surface: 129 core registry indicators plus 391 bundled-library indicators, with `phrase/2` and `phrase/3` present in both layers and therefore counted once.
|
|
6442
|
+
|
|
6443
|
+
Each row is a compact contract. `+` marks a principal input, `-` a principal output, and `?` an argument that may be supplied or produced. These are documented operating modes rather than parser-enforced mode declarations. The **Solutions** column uses `det`, `semidet`, `multi`, `nondet`, `delayed`, `meta`, `mode-dependent`, `declaration`, or `terminal`; `meta` means the solution behavior depends materially on a called goal.
|
|
6444
|
+
|
|
6445
|
+
The generated table is checked against the live core registry and every `src/lib/*.pl` export. Adding, removing, or renaming a predicate therefore makes the documentation test fail until its contract metadata is updated.
|
|
6446
|
+
|
|
6447
|
+
[Symbols](#predicate-reference-symbols) · [A](#predicate-reference-a) · [B](#predicate-reference-b) · [C](#predicate-reference-c) · [D](#predicate-reference-d) · [E](#predicate-reference-e) · [F](#predicate-reference-f) · [G](#predicate-reference-g) · [H](#predicate-reference-h) · [I](#predicate-reference-i) · [J](#predicate-reference-j) · [K](#predicate-reference-k) · [L](#predicate-reference-l) · [M](#predicate-reference-m) · [N](#predicate-reference-n) · [O](#predicate-reference-o) · [P](#predicate-reference-p) · [R](#predicate-reference-r) · [S](#predicate-reference-s) · [T](#predicate-reference-t) · [U](#predicate-reference-u) · [V](#predicate-reference-v) · [W](#predicate-reference-w) · [Z](#predicate-reference-z)
|
|
6448
|
+
|
|
6449
|
+
##### Predicate reference — Symbols
|
|
6450
|
+
|
|
6451
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6452
|
+
| --- | --- | --- | --- | --- |
|
|
6453
|
+
| `-->/2` | `library(dcgs)` | `(?Head --> ?Body)` | `declaration` | Represents a definite-clause grammar rule; program preparation expands it to an ordinary predicate with two extra list arguments. |
|
|
6454
|
+
| `->/2` | `ISO core` | `(+If -> +Then)` | `meta` | Commits to the first solution of If and then calls Then. |
|
|
6455
|
+
| `,/3` | `library(reif)` | `,(?A,?B,?Truth)` | `delayed` | Reifies conjunction: Truth describes whether both reified conditions A and B hold. |
|
|
6456
|
+
| `;/2` | `ISO core` | `(?Left ; ?Right)` | `nondet` | Enumerates solutions of Left and then Right, with ISO if-then-else behavior when Left is an ->/2 term. |
|
|
6457
|
+
| `;/3` | `library(reif)` | `;(?A,?B,?Truth)` | `delayed` | Reifies disjunction: Truth describes whether either reified condition A or B holds. |
|
|
6458
|
+
| `!/0` | `ISO core` | `!` | `det` | Commits to choices made since entry into the current predicate invocation. |
|
|
6459
|
+
| `.../2` | `library(dcgs)` | `...(?Input,?Rest)` | `nondet` | DCG nonterminal matching an arbitrary finite number of input elements and relating Rest to the remaining suffix. |
|
|
6460
|
+
| `@</2` | `ISO core` | `(?Left @< ?Right)` | `semidet` | Succeeds iff Left precedes Right in standard term order. |
|
|
6461
|
+
| `@=</2` | `ISO core` | `(?Left @=< ?Right)` | `semidet` | Succeeds iff Left precedes or is identical to Right in standard term order. |
|
|
6462
|
+
| `@>/2` | `ISO core` | `(?Left @> ?Right)` | `semidet` | Succeeds iff Left follows Right in standard term order. |
|
|
6463
|
+
| `@>=/2` | `ISO core` | `(?Left @>= ?Right)` | `semidet` | Succeeds iff Left follows or is identical to Right in standard term order. |
|
|
6464
|
+
| `*/1` | `library(debug)` | `*(+Goal)` | `meta` | Debug operator that invokes the documented tracing/portray behavior for Goal. |
|
|
6465
|
+
| `\/1` | `library(lambda)` | `\(+Closure)` | `meta` | Copies a lambda closure so non-shared variables are fresh for this invocation, then calls it with the supplied arguments. |
|
|
6466
|
+
| `\/2` | `library(lambda)` | `\(+Closure,?Arg1)` | `meta` | Copies a lambda closure so non-shared variables are fresh for this invocation, then calls it with the supplied arguments. |
|
|
6467
|
+
| `\/3` | `library(lambda)` | `\(+Closure,?Arg1,?Arg2)` | `meta` | Copies a lambda closure so non-shared variables are fresh for this invocation, then calls it with the supplied arguments. |
|
|
6468
|
+
| `\/4` | `library(lambda)` | `\(+Closure,?Arg1,?Arg2,?Arg3)` | `meta` | Copies a lambda closure so non-shared variables are fresh for this invocation, then calls it with the supplied arguments. |
|
|
6469
|
+
| `\/5` | `library(lambda)` | `\(+Closure,?Arg1,?Arg2,?Arg3,?Arg4)` | `meta` | Copies a lambda closure so non-shared variables are fresh for this invocation, then calls it with the supplied arguments. |
|
|
6470
|
+
| `\/6` | `library(lambda)` | `\(+Closure,?Arg1,?Arg2,?Arg3,?Arg4,?Arg5)` | `meta` | Copies a lambda closure so non-shared variables are fresh for this invocation, then calls it with the supplied arguments. |
|
|
6471
|
+
| `\/7` | `library(lambda)` | `\(+Closure,?Arg1,?Arg2,?Arg3,?Arg4,?Arg5,?Arg6)` | `meta` | Copies a lambda closure so non-shared variables are fresh for this invocation, then calls it with the supplied arguments. |
|
|
6472
|
+
| `\/8` | `library(lambda)` | `\(+Closure,?Arg1,?Arg2,?Arg3,?Arg4,?Arg5,?Arg6,?Arg7)` | `meta` | Copies a lambda closure so non-shared variables are fresh for this invocation, then calls it with the supplied arguments. |
|
|
6473
|
+
| `\+/1` | `ISO core` | `\+(+Goal)` | `semidet` | Succeeds iff Goal has no solution; bindings made while testing Goal are discarded. |
|
|
6474
|
+
| `\=/2` | `ISO core` | `(?Left \= ?Right)` | `semidet` | Succeeds iff Left and Right cannot unify at call time. |
|
|
6475
|
+
| `\==/2` | `ISO core` | `(?Left \== ?Right)` | `semidet` | Succeeds iff Left and Right are not identical terms. |
|
|
6476
|
+
| `#/\/2` | `library(clpz)` | `#/\(?Left,?Right)` | `delayed` | Reifies Boolean conjunction of CLP(Z) propositions. |
|
|
6477
|
+
| `#\//2` | `library(clpz)` | `#\/(?Left,?Right)` | `delayed` | Reifies Boolean disjunction of CLP(Z) propositions. |
|
|
6478
|
+
| `#\/1` | `library(clpz)` | `#\(?Expr)` | `delayed` | Posts the reified negation of a CLP(Z) proposition. |
|
|
6479
|
+
| `#\/2` | `library(clpz)` | `#\(?Left,?Right)` | `delayed` | Reifies exclusive disjunction of CLP(Z) propositions. |
|
|
6480
|
+
| `#\=/2` | `library(clpz)` | `#\=(?Left,?Right)` | `delayed` | Constrains two integer expressions to be unequal. |
|
|
6481
|
+
| `#</2` | `library(clpz)` | `#<(?Left,?Right)` | `delayed` | Constrains the left integer expression to be less than the right. |
|
|
6482
|
+
| `#</3` | `library(clpz)` | `#<(?A,?B,?Truth)` | `delayed` | Reifies the CLP(Z) relation #</2 into Truth, used by reification helpers. |
|
|
6483
|
+
| `#<==/2` | `library(clpz)` | `#<==(?Left,?Right)` | `delayed` | Reifies reverse logical implication between CLP(Z) propositions. |
|
|
6484
|
+
| `#<==>/2` | `library(clpz)` | `#<==>(?Left,?Right)` | `delayed` | Reifies logical equivalence between CLP(Z) propositions. |
|
|
6485
|
+
| `#=/2` | `library(clpz)` | `#=(?Left,?Right)` | `delayed` | Constrains two integer expressions to be equal. |
|
|
6486
|
+
| `#=/3` | `library(clpz)` | `#=(?A,?B,?Truth)` | `delayed` | Reifies the CLP(Z) relation #=/2 into Truth, used by reification helpers. |
|
|
6487
|
+
| `#=</2` | `library(clpz)` | `#=<(?Left,?Right)` | `delayed` | Constrains the left integer expression to be at most the right. |
|
|
6488
|
+
| `#==>/2` | `library(clpz)` | `#==>(?Left,?Right)` | `delayed` | Reifies logical implication between CLP(Z) propositions. |
|
|
6489
|
+
| `#>/2` | `library(clpz)` | `#>(?Left,?Right)` | `delayed` | Constrains the left integer expression to be greater than the right. |
|
|
6490
|
+
| `#>=/2` | `library(clpz)` | `#>=(?Left,?Right)` | `delayed` | Constrains the left integer expression to be at least the right. |
|
|
6491
|
+
| `^/10` | `library(lambda)` | `^(?Parameter,+Closure,?Arg1,?Arg2,?Arg3,?Arg4,?Arg5,?Arg6,?Arg7,?Arg8)` | `meta` | Implements one stage of Scryer-compatible lambda parameter binding and calls the remaining closure with any supplied arguments. |
|
|
6492
|
+
| `^/3` | `library(lambda)` | `^(?Parameter,+Closure,?Arg1)` | `meta` | Implements one stage of Scryer-compatible lambda parameter binding and calls the remaining closure with any supplied arguments. |
|
|
6493
|
+
| `^/4` | `library(lambda)` | `^(?Parameter,+Closure,?Arg1,?Arg2)` | `meta` | Implements one stage of Scryer-compatible lambda parameter binding and calls the remaining closure with any supplied arguments. |
|
|
6494
|
+
| `^/5` | `library(lambda)` | `^(?Parameter,+Closure,?Arg1,?Arg2,?Arg3)` | `meta` | Implements one stage of Scryer-compatible lambda parameter binding and calls the remaining closure with any supplied arguments. |
|
|
6495
|
+
| `^/6` | `library(lambda)` | `^(?Parameter,+Closure,?Arg1,?Arg2,?Arg3,?Arg4)` | `meta` | Implements one stage of Scryer-compatible lambda parameter binding and calls the remaining closure with any supplied arguments. |
|
|
6496
|
+
| `^/7` | `library(lambda)` | `^(?Parameter,+Closure,?Arg1,?Arg2,?Arg3,?Arg4,?Arg5)` | `meta` | Implements one stage of Scryer-compatible lambda parameter binding and calls the remaining closure with any supplied arguments. |
|
|
6497
|
+
| `^/8` | `library(lambda)` | `^(?Parameter,+Closure,?Arg1,?Arg2,?Arg3,?Arg4,?Arg5,?Arg6)` | `meta` | Implements one stage of Scryer-compatible lambda parameter binding and calls the remaining closure with any supplied arguments. |
|
|
6498
|
+
| `^/9` | `library(lambda)` | `^(?Parameter,+Closure,?Arg1,?Arg2,?Arg3,?Arg4,?Arg5,?Arg6,?Arg7)` | `meta` | Implements one stage of Scryer-compatible lambda parameter binding and calls the remaining closure with any supplied arguments. |
|
|
6499
|
+
| `+\/2` | `library(lambda)` | `+\(?Free,+Closure)` | `meta` | Invokes a lambda closure while preserving variables explicitly listed in Free and refreshing other closure variables. |
|
|
6500
|
+
| `+\/3` | `library(lambda)` | `+\(?Free,+Closure,?Arg1)` | `meta` | Invokes a lambda closure while preserving variables explicitly listed in Free and refreshing other closure variables. |
|
|
6501
|
+
| `+\/4` | `library(lambda)` | `+\(?Free,+Closure,?Arg1,?Arg2)` | `meta` | Invokes a lambda closure while preserving variables explicitly listed in Free and refreshing other closure variables. |
|
|
6502
|
+
| `+\/5` | `library(lambda)` | `+\(?Free,+Closure,?Arg1,?Arg2,?Arg3)` | `meta` | Invokes a lambda closure while preserving variables explicitly listed in Free and refreshing other closure variables. |
|
|
6503
|
+
| `+\/6` | `library(lambda)` | `+\(?Free,+Closure,?Arg1,?Arg2,?Arg3,?Arg4)` | `meta` | Invokes a lambda closure while preserving variables explicitly listed in Free and refreshing other closure variables. |
|
|
6504
|
+
| `+\/7` | `library(lambda)` | `+\(?Free,+Closure,?Arg1,?Arg2,?Arg3,?Arg4,?Arg5)` | `meta` | Invokes a lambda closure while preserving variables explicitly listed in Free and refreshing other closure variables. |
|
|
6505
|
+
| `+\/8` | `library(lambda)` | `+\(?Free,+Closure,?Arg1,?Arg2,?Arg3,?Arg4,?Arg5,?Arg6)` | `meta` | Invokes a lambda closure while preserving variables explicitly listed in Free and refreshing other closure variables. |
|
|
6506
|
+
| `+\/9` | `library(lambda)` | `+\(?Free,+Closure,?Arg1,?Arg2,?Arg3,?Arg4,?Arg5,?Arg6,?Arg7)` | `meta` | Invokes a lambda closure while preserving variables explicitly listed in Free and refreshing other closure variables. |
|
|
6507
|
+
| `</2` | `ISO core` | `(+Left < +Right)` | `semidet` | Succeeds iff the evaluated Left arithmetic expression is less than Right. |
|
|
6508
|
+
| `=:=/2` | `ISO core` | `(+Left =:= +Right)` | `semidet` | Succeeds iff the two evaluated arithmetic expressions are numerically equal. |
|
|
6509
|
+
| `=../2` | `ISO core` | `(?Term =.. ?List)` | `mode-dependent` | Relates a term to its nonempty list representation [Functor\|Arguments]. |
|
|
6510
|
+
| `=/2` | `ISO core` | `(?Left = ?Right)` | `semidet` | Succeeds iff Left and Right unify, returning their most general acyclic unifier. |
|
|
6511
|
+
| `=/3` | `library(reif)` | `=(?A,?B,?Truth)` | `delayed` | Reifies unifiability/equality of A and B into Boolean Truth. |
|
|
6512
|
+
| `=\=/2` | `ISO core` | `(+Left =\= +Right)` | `semidet` | Succeeds iff the two evaluated arithmetic expressions are numerically unequal. |
|
|
6513
|
+
| `=</2` | `ISO core` | `(+Left =< +Right)` | `semidet` | Succeeds iff the evaluated Left arithmetic expression is less than or equal to Right. |
|
|
6514
|
+
| `==/2` | `ISO core` | `(?Left == ?Right)` | `semidet` | Succeeds iff Left and Right are identical terms without performing unification. |
|
|
6515
|
+
| `>/2` | `ISO core` | `(+Left > +Right)` | `semidet` | Succeeds iff the evaluated Left arithmetic expression is greater than Right. |
|
|
6516
|
+
| `>=/2` | `ISO core` | `(+Left >= +Right)` | `semidet` | Succeeds iff the evaluated Left arithmetic expression is greater than or equal to Right. |
|
|
6517
|
+
| `$-/1` | `library(debug)` | `$-(+Goal)` | `meta` | Debug operator variant that runs Goal with the corresponding negative/disable diagnostic behavior. |
|
|
6518
|
+
| `$/1` | `library(debug)` | `$(+Goal)` | `meta` | Debug operator that runs Goal with the module's enabled diagnostic behavior. |
|
|
6519
|
+
|
|
6520
|
+
##### Predicate reference — A
|
|
6521
|
+
|
|
6522
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6523
|
+
| --- | --- | --- | --- | --- |
|
|
6524
|
+
| `abolish_all_tables/0` | `library(tabling)` | `abolish_all_tables` | `det` | Clears all memoized reasoning tables maintained by EyeProlog. |
|
|
6525
|
+
| `abolish_table/1` | `library(tabling)` | `abolish_table(+PredicateSpec)` | `det` | Invalidates memoized table data for the specified tabled predicate or conjunction of predicate indicators. |
|
|
6526
|
+
| `abolish/1` | `ISO core` | `abolish(+NameArity)` | `det` | Removes the named dynamic procedure and all of its clauses. |
|
|
6527
|
+
| `acyclic_term/1` | `ISO core` | `acyclic_term(?Term)` | `semidet` | Succeeds iff Term is finite and acyclic. |
|
|
6528
|
+
| `add_edges/3` | `library(ugraphs)` | `add_edges(+Graph,+Edges,-NewGraph)` | `det` | Adds directed Edges to Graph, preserving canonical adjacency ordering. |
|
|
6529
|
+
| `add_vertices/3` | `library(ugraphs)` | `add_vertices(+Graph,+Vertices,-NewGraph)` | `det` | Adds Vertices to Graph, preserving canonical graph ordering. |
|
|
6530
|
+
| `aggregate_all/3` | `library(aggregate)` | `aggregate_all(+Aggregate,+Goal,-Result)` | `det` | Aggregates the template specified by Aggregate over every solution of Goal without witness grouping. |
|
|
6531
|
+
| `aggregate_max/5` | `library(aggregate)` | `aggregate_max(+KeyTemplate,+ValueTemplate,+Goal,-BestKey,-BestValue)` | `semidet` | Selects the first Goal solution having the greatest resolved KeyTemplate and returns its key and value; fails on no solutions. |
|
|
6532
|
+
| `aggregate_min/5` | `library(aggregate)` | `aggregate_min(+KeyTemplate,+ValueTemplate,+Goal,-BestKey,-BestValue)` | `semidet` | Selects the first Goal solution having the least resolved KeyTemplate and returns its key and value; fails on no solutions. |
|
|
6533
|
+
| `aggregate/3` | `library(aggregate)` | `aggregate(+Aggregate,+Goal,-Result)` | `nondet` | Aggregates solutions of Goal by free witness-variable group, analogously to bagof/3. |
|
|
6534
|
+
| `all_different/1` | `library(clpz)` | `all_different(+Vars)` | `delayed` | Constrains all finite-domain expressions in Vars to take pairwise different values. |
|
|
6535
|
+
| `all_distinct/1` | `library(clpz)` | `all_distinct(+Vars)` | `delayed` | Posts the stronger global all-distinct constraint over Vars. |
|
|
6536
|
+
| `append/2` | `library(lists)` | `append(+Lists,?Whole)` | `nondet` | Concatenates a proper list of lists into Whole. |
|
|
6537
|
+
| `append/3` | `library(lists)` | `append(?Prefix,?Suffix,?Whole)` | `nondet` | Holds iff Whole is Prefix followed by Suffix; suitable modes enumerate every split. |
|
|
6538
|
+
| `arg/3` | `ISO core` | `arg(+Index,+Term,?Argument)` | `semidet` | Relates the one-based Index of a compound Term to its corresponding Argument. |
|
|
6539
|
+
| `argv/1` | `library(os)` | `argv(-Args)` | `det` | Returns the EyeProlog application argument vector as character-list strings. |
|
|
6540
|
+
| `asserta/1` | `ISO core` | `asserta(+Clause)` | `det` | Adds a copied clause at the beginning of a predicate declared dynamic. |
|
|
6541
|
+
| `assertz/1` | `ISO core` | `assertz(+Clause)` | `det` | Adds a copied clause at the end of a predicate declared dynamic. |
|
|
6542
|
+
| `assoc_to_keys/2` | `library(assoc)` | `assoc_to_keys(+Assoc,-Keys)` | `det` | Returns Assoc keys in ascending key order. |
|
|
6543
|
+
| `assoc_to_list/2` | `library(assoc)` | `assoc_to_list(+Assoc,-Pairs)` | `det` | Returns Key-Value pairs from Assoc in ascending key order. |
|
|
6544
|
+
| `assoc_to_values/2` | `library(assoc)` | `assoc_to_values(+Assoc,-Values)` | `det` | Returns Assoc values in ascending-key order. |
|
|
6545
|
+
| `at_end_of_stream/0` | `ISO core` | `at_end_of_stream` | `semidet` | Succeeds iff the current input stream is positioned at end of stream. |
|
|
6546
|
+
| `at_end_of_stream/1` | `ISO core` | `at_end_of_stream(+Stream)` | `semidet` | Succeeds iff Stream is positioned at end of stream. |
|
|
6547
|
+
| `atom_chars/2` | `ISO core` | `atom_chars(?Atom,?Chars)` | `mode-dependent` | Relates an atom to a proper list of one-character atoms. |
|
|
6548
|
+
| `atom_codes/2` | `ISO core` | `atom_codes(?Atom,?Codes)` | `mode-dependent` | Relates an atom to a proper list of Unicode scalar character codes. |
|
|
6549
|
+
| `atom_concat/3` | `ISO core` | `atom_concat(?Prefix,?Suffix,?Whole)` | `nondet` | Relates Whole to the concatenation of Prefix and Suffix; with Whole given, enumerates all splits. |
|
|
6550
|
+
| `atom_length/2` | `ISO core` | `atom_length(+Atom,?Length)` | `semidet` | Relates Atom to its number of Unicode scalar characters. |
|
|
6551
|
+
| `atom_si/1` | `library(si)` | `atom_si(?Term)` | `semidet` | Succeeds iff Term is sufficiently instantiated to be treated as atom by dependent constraint code. |
|
|
6552
|
+
| `atom_string/2` | `library(strings)` | `atom_string(?Atom,?Text)` | `mode-dependent` | Relates an atom to atom/character-list text. |
|
|
6553
|
+
| `atom/1` | `ISO core` | `atom(?Term)` | `semidet` | Succeeds iff Term is an atom. |
|
|
6554
|
+
| `atomic_si/1` | `library(si)` | `atomic_si(?Term)` | `semidet` | Succeeds iff Term is sufficiently instantiated to be treated as atomic by dependent constraint code. |
|
|
6555
|
+
| `atomic/1` | `ISO core` | `atomic(?Term)` | `semidet` | Succeeds iff Term is atomic. |
|
|
6556
|
+
| `automaton/3` | `library(clpz)` | `automaton(+Sequence,+Template,+Signature)` | `delayed` | Constrains Sequence by a finite automaton described by Template and Signature. |
|
|
6557
|
+
| `automaton/8` | `library(clpz)` | `automaton(+Sequence,+Template,+Signature,+Nodes,+Arcs,+Counters,+Initials,+Finals)` | `delayed` | Posts the extended automaton constraint with explicit graph and counter descriptions. |
|
|
6558
|
+
|
|
6559
|
+
##### Predicate reference — B
|
|
6560
|
+
|
|
6561
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6562
|
+
| --- | --- | --- | --- | --- |
|
|
6563
|
+
| `bagof/3` | `ISO core` | `bagof(+Template,+Goal,?Bag)` | `nondet` | Groups Template solutions by free witness variables of Goal and yields one nonempty bag per group. |
|
|
6564
|
+
| `bb_b_put/2` | `library(iso_ext)` | `bb_b_put(+Key,+Value)` | `det` | Backtrackably associates Key with Value in the EyeProlog blackboard. |
|
|
6565
|
+
| `bb_get/2` | `library(iso_ext)` | `bb_get(+Key,?Value)` | `semidet` | Retrieves the current blackboard Value associated with Key. |
|
|
6566
|
+
| `bb_put/2` | `library(iso_ext)` | `bb_put(+Key,+Value)` | `det` | Nonbacktrackably associates Key with Value in the EyeProlog blackboard. |
|
|
6567
|
+
| `becomes/2` | `library(eyelet)` | `becomes(+Condition,+Action)` | `meta` | Declares/executes the Eyelet forward transition relating Condition to Action. |
|
|
6568
|
+
| `between/3` | `library(between)` | `between(+Low,+High,?Value)` | `nondet` | Enumerates integers Value from Low through High inclusively, or checks a supplied Value. |
|
|
6569
|
+
|
|
6570
|
+
##### Predicate reference — C
|
|
6571
|
+
|
|
6572
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6573
|
+
| --- | --- | --- | --- | --- |
|
|
6574
|
+
| `call_cleanup/2` | `library(iso_ext)` | `call_cleanup(+Goal,+Cleanup)` | `meta` | Runs Goal and guarantees Cleanup when the call finishes, fails, is cut, or raises an exception. |
|
|
6575
|
+
| `call_nth/2` | `library(iso_ext)` | `call_nth(+Goal,?N)` | `nondet` | Relates each solution of Goal to its one-based solution number N. |
|
|
6576
|
+
| `call_residue_vars/2` | `library(atts)` | `call_residue_vars(+Goal,-Vars)` | `meta` | Runs Goal and returns the attributed variables that remain as residual constraints on that solution. |
|
|
6577
|
+
| `call_with_error_context/2` | `library(error)` | `call_with_error_context(+Goal,+Context)` | `meta` | Runs Goal and, when a standard error is raised without useful context, associates it with Context. |
|
|
6578
|
+
| `call_with_inference_limit/3` | `library(iso_ext)` | `call_with_inference_limit(+Goal,+Limit,?Result)` | `meta` | Runs Goal subject to an inference limit and reports whether a solution, failure, exception, or limit condition occurred. |
|
|
6579
|
+
| `call/1` | `ISO core` | `call(+Goal)` | `meta` | Calls Goal in the current module and substitution. |
|
|
6580
|
+
| `call/2` | `ISO core` | `call(+Closure,?Arg1)` | `meta` | Appends 1 argument(s) to Closure and calls the resulting goal. |
|
|
6581
|
+
| `call/3` | `ISO core` | `call(+Closure,?Arg1,?Arg2)` | `meta` | Appends 2 argument(s) to Closure and calls the resulting goal. |
|
|
6582
|
+
| `call/4` | `ISO core` | `call(+Closure,?Arg1,?Arg2,?Arg3)` | `meta` | Appends 3 argument(s) to Closure and calls the resulting goal. |
|
|
6583
|
+
| `call/5` | `ISO core` | `call(+Closure,?Arg1,?Arg2,?Arg3,?Arg4)` | `meta` | Appends 4 argument(s) to Closure and calls the resulting goal. |
|
|
6584
|
+
| `call/6` | `ISO core` | `call(+Closure,?Arg1,?Arg2,?Arg3,?Arg4,?Arg5)` | `meta` | Appends 5 argument(s) to Closure and calls the resulting goal. |
|
|
6585
|
+
| `call/7` | `ISO core` | `call(+Closure,?Arg1,?Arg2,?Arg3,?Arg4,?Arg5,?Arg6)` | `meta` | Appends 6 argument(s) to Closure and calls the resulting goal. |
|
|
6586
|
+
| `call/8` | `ISO core` | `call(+Closure,?Arg1,?Arg2,?Arg3,?Arg4,?Arg5,?Arg6,?Arg7)` | `meta` | Appends 7 argument(s) to Closure and calls the resulting goal. |
|
|
6587
|
+
| `callable/1` | `ISO core` | `callable(?Term)` | `semidet` | Succeeds iff Term is a callable atom or compound. |
|
|
6588
|
+
| `can_be/2` | `library(error)` | `can_be(+Type,?Term)` | `semidet` | Allows an unbound Term or validates an instantiated Term against Type, raising an error for an invalid value. |
|
|
6589
|
+
| `catch/3` | `ISO core` | `catch(+Goal,?Catcher,+Recovery)` | `meta` | Runs Goal; a matching thrown term is unified with Catcher and handled by Recovery. |
|
|
6590
|
+
| `cfor/3` | `library(iso_ext)` | `cfor(+Low,+High,?Value)` | `nondet` | Enumerates evaluated integer Value from Low through High inclusively. |
|
|
6591
|
+
| `chain/2` | `library(clpz)` | `chain(+Vars,+Relation)` | `delayed` | Constrains every adjacent pair in Vars by the supplied CLP(Z) Relation. |
|
|
6592
|
+
| `char_code/2` | `ISO core` | `char_code(?Character,?Code)` | `mode-dependent` | Relates a one-character atom to its Unicode scalar code. |
|
|
6593
|
+
| `char_conversion/2` | `ISO core` | `char_conversion(+Input,+Output)` | `det` | Installs or removes the one-character conversion Input -> Output. |
|
|
6594
|
+
| `char_type/2` | `library(charsio)` | `char_type(?Char,?Type)` | `nondet` | Tests or enumerates supported character classifications for a one-character atom. |
|
|
6595
|
+
| `character_si/1` | `library(si)` | `character_si(?Term)` | `semidet` | Succeeds iff Term is sufficiently instantiated to be treated as character by dependent constraint code. |
|
|
6596
|
+
| `chars_base64/3` | `library(charsio)` | `chars_base64(?Chars,?Base64,+Options)` | `mode-dependent` | Relates character data to Base64 text according to Options. |
|
|
6597
|
+
| `chars_si/1` | `library(si)` | `chars_si(?Term)` | `semidet` | Succeeds iff Term is sufficiently instantiated to be treated as chars by dependent constraint code. |
|
|
6598
|
+
| `chars_utf8bytes/2` | `library(charsio)` | `chars_utf8bytes(?Chars,?Bytes)` | `mode-dependent` | Relates Unicode character data to its UTF-8 byte encoding. |
|
|
6599
|
+
| `circuit/1` | `library(clpz)` | `circuit(+Successors)` | `delayed` | Constrains Successors to encode one Hamiltonian circuit over their indices. |
|
|
6600
|
+
| `clause/2` | `ISO core` | `clause(+Head,?Body)` | `nondet` | Enumerates fresh copies of accessible source clauses matching Head; facts have body true. |
|
|
6601
|
+
| `close/1` | `ISO core` | `close(+Stream)` | `det` | Closes Stream. |
|
|
6602
|
+
| `close/2` | `ISO core` | `close(+Stream,+Options)` | `det` | Closes Stream using the supplied close Options. |
|
|
6603
|
+
| `clpz_t/2` | `library(clpz)` | `clpz_t(+Constraint,?Truth)` | `delayed` | Reifies a supported CLP(Z) Constraint into Boolean Truth. |
|
|
6604
|
+
| `compare/3` | `ISO core` | `compare(?Order,+Left,+Right)` | `det` | Unifies Order with <, =, or > according to standard term order. |
|
|
6605
|
+
| `complement/2` | `library(ugraphs)` | `complement(+Graph,-Complement)` | `det` | Constructs the graph containing the non-self edges absent from Graph over the same vertex set. |
|
|
6606
|
+
| `compose/3` | `library(ugraphs)` | `compose(+Left,+Right,-Composition)` | `det` | Computes relational graph composition: X->Z when X->Y in Left and Y->Z in Right. |
|
|
6607
|
+
| `compound/1` | `ISO core` | `compound(?Term)` | `semidet` | Succeeds iff Term is a compound term. |
|
|
6608
|
+
| `cond_t/3` | `library(reif)` | `cond_t(+Condition,?ThenTruth,?Truth)` | `meta` | Combines a reified condition with a reified consequent according to the library conditional truth relation. |
|
|
6609
|
+
| `connect_ugraph/3` | `library(ugraphs)` | `connect_ugraph(+Graph,?Start,-Connected)` | `nondet` | Adds the minimal/library-defined connecting edges needed to produce a connected traversal rooted at Start. |
|
|
6610
|
+
| `contains/2` | `library(strings)` | `contains(+Text,+Needle)` | `semidet` | Succeeds iff Needle occurs literally within Text. |
|
|
6611
|
+
| `copy_term_nat/2` | `library(terms)` | `copy_term_nat(+Term,-Copy)` | `det` | Copies Term with fresh variables while omitting attributed-variable constraints from the copy. |
|
|
6612
|
+
| `copy_term/2` | `ISO core` | `copy_term(+Term,-Copy)` | `det` | Copies Term, replacing each distinct unbound variable with a fresh variable while preserving sharing. |
|
|
6613
|
+
| `copy_term/3` | `library(iso_ext)` | `copy_term(+Term,-Copy,-Goals)` | `det` | Copies Term and projects residual attributed-variable constraints into Goals. |
|
|
6614
|
+
| `countall/2` | `library(iso_ext)` | `countall(+Goal,-Count)` | `det` | Counts all solutions of Goal; the empty count is 0. |
|
|
6615
|
+
| `crypto_curve_generator/2` | `library(crypto)` | `crypto_curve_generator(+Curve,-Generator)` | `det` | Returns the generator point for a supported named curve. |
|
|
6616
|
+
| `crypto_curve_order/2` | `library(crypto)` | `crypto_curve_order(+Curve,-Order)` | `det` | Returns the group order for a supported named curve. |
|
|
6617
|
+
| `crypto_curve_scalar_mult/4` | `library(crypto)` | `crypto_curve_scalar_mult(+Curve,+Scalar,+Point,-Result)` | `det` | Computes scalar multiplication on a supported named curve. |
|
|
6618
|
+
| `crypto_data_decrypt/6` | `library(crypto)` | `crypto_data_decrypt(+Cipher,+Key,+Nonce,+AAD,+Tag,-Plain)` | `semidet` | Authenticates and decrypts Cipher; fails or errors when authentication cannot be established. |
|
|
6619
|
+
| `crypto_data_encrypt/6` | `library(crypto)` | `crypto_data_encrypt(+Plain,+Key,+Nonce,+AAD,-Cipher,-Tag)` | `det` | Encrypts Plain with the supported authenticated-encryption primitive, returning Cipher and authentication Tag. |
|
|
6620
|
+
| `crypto_data_hash/3` | `library(crypto)` | `crypto_data_hash(+Data,-Hash,+Options)` | `det` | Computes the requested cryptographic digest or HMAC of Data according to Options. |
|
|
6621
|
+
| `crypto_data_hkdf/4` | `library(crypto)` | `crypto_data_hkdf(+Data,+Length,-Key,+Options)` | `det` | Derives Length bytes from Data using HKDF according to Options. |
|
|
6622
|
+
| `crypto_n_random_bytes/2` | `library(crypto)` | `crypto_n_random_bytes(+Count,-Bytes)` | `det` | Obtains Count cryptographically secure random bytes from an available host CSPRNG. |
|
|
6623
|
+
| `crypto_name_curve/2` | `library(crypto)` | `crypto_name_curve(?Name,?Curve)` | `mode-dependent` | Relates a supported curve name to its canonical curve representation. |
|
|
6624
|
+
| `crypto_password_hash/2` | `library(crypto)` | `crypto_password_hash(+Password,-Hash)` | `det` | Computes a password hash using the library default password-hashing parameters. |
|
|
6625
|
+
| `crypto_password_hash/3` | `library(crypto)` | `crypto_password_hash(+Password,?Hash,+Options)` | `mode-dependent` | Creates or verifies a password hash according to Options. |
|
|
6626
|
+
| `cumulative/1` | `library(clpz)` | `cumulative(+Tasks)` | `delayed` | Posts cumulative resource constraints for Tasks using default options. |
|
|
6627
|
+
| `cumulative/2` | `library(clpz)` | `cumulative(+Tasks,+Options)` | `delayed` | Posts cumulative resource constraints for Tasks according to Options. |
|
|
6628
|
+
| `current_char_conversion/2` | `ISO core` | `current_char_conversion(?Input,?Output)` | `nondet` | Enumerates installed nonidentity character conversions. |
|
|
6629
|
+
| `current_input/1` | `ISO core` | `current_input(?Stream)` | `det` | Returns the current input stream. |
|
|
6630
|
+
| `current_op/3` | `ISO core` | `current_op(?Priority,?Specifier,?Name)` | `nondet` | Enumerates active operator definitions, filtering any supplied arguments. |
|
|
6631
|
+
| `current_output/1` | `ISO core` | `current_output(?Stream)` | `det` | Returns the current output stream. |
|
|
6632
|
+
| `current_predicate/1` | `ISO core` | `current_predicate(?NameArity)` | `nondet` | Enumerates predicate indicators present in the loaded program. |
|
|
6633
|
+
| `current_prolog_flag/2` | `ISO core` | `current_prolog_flag(?Flag,?Value)` | `nondet` | Enumerates supported Prolog flags or returns the value of a named flag. |
|
|
6634
|
+
| `current_time/1` | `library(time)` | `current_time(-Stamp)` | `det` | Returns the current local date/time as the module's timestamp association list. |
|
|
6635
|
+
| `curve25519_generator/1` | `library(crypto)` | `curve25519_generator(-Generator)` | `det` | Returns the canonical X25519/Curve25519 generator representation. |
|
|
6636
|
+
| `curve25519_scalar_mult/3` | `library(crypto)` | `curve25519_scalar_mult(+Scalar,+Point,-Result)` | `det` | Computes Curve25519 scalar multiplication. |
|
|
6637
|
+
|
|
6638
|
+
##### Predicate reference — D
|
|
6639
|
+
|
|
6640
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6641
|
+
| --- | --- | --- | --- | --- |
|
|
6642
|
+
| `debug/1` | `library(debug)` | `debug(+Topic)` | `det` | Enables debugging messages for Topic. |
|
|
6643
|
+
| `debug/3` | `library(debug)` | `debug(+Topic,+Format,+Args)` | `det` | Emits a formatted debugging message when Topic is enabled. |
|
|
6644
|
+
| `del_assoc/4` | `library(assoc)` | `del_assoc(+Key,+Assoc0,?Value,-Assoc)` | `semidet` | Removes Key from Assoc0, returning its Value and the remaining Assoc. |
|
|
6645
|
+
| `del_attr/2` | `library(atts)` | `del_attr(+Var,+Module)` | `det` | Removes Module's attribute from Var if present. |
|
|
6646
|
+
| `del_edges/3` | `library(ugraphs)` | `del_edges(+Graph,+Edges,-NewGraph)` | `det` | Removes directed Edges from Graph. |
|
|
6647
|
+
| `del_max_assoc/4` | `library(assoc)` | `del_max_assoc(+Assoc0,?Key,?Value,-Assoc)` | `semidet` | Removes and returns the greatest-key entry of a nonempty association. |
|
|
6648
|
+
| `del_min_assoc/4` | `library(assoc)` | `del_min_assoc(+Assoc0,?Key,?Value,-Assoc)` | `semidet` | Removes and returns the least-key entry of a nonempty association. |
|
|
6649
|
+
| `del_vertices/3` | `library(ugraphs)` | `del_vertices(+Graph,+Vertices,-NewGraph)` | `det` | Removes Vertices and all incident edges from Graph. |
|
|
6650
|
+
| `delete_directory/1` | `library(files)` | `delete_directory(+Path)` | `det` | Deletes the empty directory at Path using the Node filesystem host. |
|
|
6651
|
+
| `delete_file/1` | `library(files)` | `delete_file(+Path)` | `det` | Deletes the file at Path using the Node filesystem host. |
|
|
6652
|
+
| `dif_si/2` | `library(si)` | `dif_si(?A,?B)` | `semidet` | Succeeds when A and B are sufficiently instantiated to decide non-unifiability, otherwise delays or rejects insufficient instantiation as defined by the SI layer. |
|
|
6653
|
+
| `dif/2` | `library(dif)` | `dif(?A,?B)` | `delayed` | Constrains A and B to remain non-unifiable, delaying until the distinction can be decided when necessary. |
|
|
6654
|
+
| `dif/3` | `library(reif)` | `dif(?A,?B,?Truth)` | `delayed` | Reifies disequality of A and B into Boolean Truth. |
|
|
6655
|
+
| `difference/3` | `library(dates)` | `difference(+End,+Start,-Duration)` | `semidet` | Computes the nonnegative calendar difference from Start to End as a normalized ISO-like duration; invalid or descending dates fail. |
|
|
6656
|
+
| `directory_exists/1` | `library(files)` | `directory_exists(+Path)` | `semidet` | Succeeds iff Path exists and is a directory. |
|
|
6657
|
+
| `directory_files/2` | `library(files)` | `directory_files(+Path,-Entries)` | `det` | Returns the directory entries of Path using the host filesystem. |
|
|
6658
|
+
| `disjoint2/1` | `library(clpz)` | `disjoint2(+Rectangles)` | `delayed` | Constrains axis-aligned rectangles not to overlap in two dimensions. |
|
|
6659
|
+
| `domain_error/2` | `library(error)` | `domain_error(+Domain,+Term)` | `terminal` | Raises a domain_error(Domain,Term) exception. |
|
|
6660
|
+
| `domain_error/3` | `library(error)` | `domain_error(+Domain,+Term,+Context)` | `terminal` | Raises a domain_error(Domain,Term) exception carrying Context. |
|
|
6661
|
+
| `drop/3` | `library(lists)` | `drop(+Count,+List,-Suffix)` | `semidet` | Returns the suffix after removing exactly Count leading elements; fails when List is too short. |
|
|
6662
|
+
|
|
6663
|
+
##### Predicate reference — E
|
|
6664
|
+
|
|
6665
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6666
|
+
| --- | --- | --- | --- | --- |
|
|
6667
|
+
| `ed25519_keypair_public_key/2` | `library(crypto)` | `ed25519_keypair_public_key(+KeyPair,-PublicKey)` | `det` | Extracts the Ed25519 public key from KeyPair. |
|
|
6668
|
+
| `ed25519_new_keypair/1` | `library(crypto)` | `ed25519_new_keypair(-KeyPair)` | `det` | Generates a fresh Ed25519 keypair using the host cryptographic backend. |
|
|
6669
|
+
| `ed25519_seed_keypair/2` | `library(crypto)` | `ed25519_seed_keypair(+Seed,-KeyPair)` | `det` | Derives an Ed25519 keypair deterministically from Seed. |
|
|
6670
|
+
| `ed25519_sign/4` | `library(crypto)` | `ed25519_sign(+Data,+KeyPair,-Signature,+Options)` | `det` | Produces an Ed25519 signature of Data using KeyPair and supported Options. |
|
|
6671
|
+
| `ed25519_verify/4` | `library(crypto)` | `ed25519_verify(+Data,+PublicKey,+Signature,+Options)` | `semidet` | Succeeds iff Signature is a valid Ed25519 signature of Data for PublicKey. |
|
|
6672
|
+
| `edges/2` | `library(ugraphs)` | `edges(+Graph,-Edges)` | `det` | Returns all directed Vertex-Neighbor edges of Graph. |
|
|
6673
|
+
| `element/3` | `library(clpz)` | `element(?Index,+List,?Element)` | `delayed` | Constrains one-based Index and Element so Element is the indexed member of List. |
|
|
6674
|
+
| `empty_assoc/1` | `library(assoc)` | `empty_assoc(-Assoc)` | `det` | Constructs the empty association tree. |
|
|
6675
|
+
| `exclude/3` | `library(lists)` | `exclude(+Pred,+List,-Excluded)` | `meta` | Keeps exactly the elements of List for which Pred fails, preserving order. |
|
|
6676
|
+
| `expmod/4` | `library(arithmetic)` | `expmod(+Base,+Exponent,+Modulus,-Result)` | `det` | Computes Base^Exponent modulo Modulus for integer inputs. |
|
|
6677
|
+
|
|
6678
|
+
##### Predicate reference — F
|
|
6679
|
+
|
|
6680
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6681
|
+
| --- | --- | --- | --- | --- |
|
|
6682
|
+
| `fail/0` | `ISO core` | `fail` | `semidet` | Always fails. |
|
|
6683
|
+
| `false/0` | `ISO core` | `false` | `semidet` | Always fails; this compatibility alias is protected from source redefinition. |
|
|
6684
|
+
| `fd_dom/2` | `library(clpz)` | `fd_dom(+Var,?Domain)` | `det` | Returns a term describing Var's current finite domain. |
|
|
6685
|
+
| `fd_inf/2` | `library(clpz)` | `fd_inf(+Var,?Infimum)` | `det` | Returns the current lower bound of Var's finite domain. |
|
|
6686
|
+
| `fd_size/2` | `library(clpz)` | `fd_size(+Var,?Size)` | `det` | Returns the cardinality of Var's current finite domain when finite. |
|
|
6687
|
+
| `fd_sup/2` | `library(clpz)` | `fd_sup(+Var,?Supremum)` | `det` | Returns the current upper bound of Var's finite domain. |
|
|
6688
|
+
| `fd_var/1` | `library(clpz)` | `fd_var(?Term)` | `semidet` | Succeeds iff Term is currently a CLP(Z) finite-domain variable. |
|
|
6689
|
+
| `file_access_time/2` | `library(files)` | `file_access_time(+Path,-Time)` | `det` | Returns the host access timestamp for Path. |
|
|
6690
|
+
| `file_copy/2` | `library(files)` | `file_copy(+Source,+Target)` | `det` | Copies Source to Target using the Node filesystem host. |
|
|
6691
|
+
| `file_creation_time/2` | `library(files)` | `file_creation_time(+Path,-Time)` | `det` | Returns the host creation/birth timestamp for Path. |
|
|
6692
|
+
| `file_exists/1` | `library(files)` | `file_exists(+Path)` | `semidet` | Succeeds iff Path exists and is a regular file. |
|
|
6693
|
+
| `file_modification_time/2` | `library(files)` | `file_modification_time(+Path,-Time)` | `det` | Returns the host modification timestamp for Path. |
|
|
6694
|
+
| `file_size/2` | `library(files)` | `file_size(+Path,-Bytes)` | `det` | Returns the size of Path in bytes. |
|
|
6695
|
+
| `findall/3` | `ISO core` | `findall(+Template,+Goal,?Bag)` | `det` | Collects a copy of Template for every solution of Goal, treating all free variables existentially; the empty result is []. |
|
|
6696
|
+
| `findall/4` | `library(iso_ext)` | `findall(+Template,+Goal,?List,?Tail)` | `det` | Collects Template solutions as a difference list whose tail is Tail. |
|
|
6697
|
+
| `float/1` | `ISO core` | `float(?Term)` | `semidet` | Succeeds iff Term is a floating-point number. |
|
|
6698
|
+
| `flush_output/0` | `ISO core` | `flush_output` | `det` | Flushes buffered output on the current output stream. |
|
|
6699
|
+
| `flush_output/1` | `ISO core` | `flush_output(+Stream)` | `det` | Flushes buffered output on Stream. |
|
|
6700
|
+
| `foldl/4` | `library(lists)` | `foldl(+Goal,+List1,+State0,-State)` | `meta` | Folds Goal left-to-right over 1 list(s), threading an accumulator from State0 to State. |
|
|
6701
|
+
| `foldl/5` | `library(lists)` | `foldl(+Goal,+List1,+List2,+State0,-State)` | `meta` | Folds Goal left-to-right over 2 list(s), threading an accumulator from State0 to State. |
|
|
6702
|
+
| `foldl/6` | `library(lists)` | `foldl(+Goal,+List1,+List2,+List3,+State0,-State)` | `meta` | Folds Goal left-to-right over 3 list(s), threading an accumulator from State0 to State. |
|
|
6703
|
+
| `forall/2` | `library(iso_ext)` | `forall(+Condition,+Action)` | `semidet` | Succeeds iff Action succeeds for every solution of Condition, implemented by double negation. |
|
|
6704
|
+
| `format_/4` | `library(format)` | `format_(+Format,+Args,?S0,?S)` | `det` | Expanded DCG form of format_//2, relating formatted characters between difference-list states S0 and S. |
|
|
6705
|
+
| `format_time/4` | `library(time)` | `format_time(+Format,+Stamp,?S0,?S)` | `det` | Expanded DCG form of format_time//2, emitting formatted time characters between S0 and S. |
|
|
6706
|
+
| `format/2` | `library(format)` | `format(+Format,+Args)` | `det` | Formats Args according to Format and writes the result to the current output stream. |
|
|
6707
|
+
| `format/3` | `library(format)` | `format(+Stream,+Format,+Args)` | `det` | Formats Args according to Format and writes the result to Stream. |
|
|
6708
|
+
| `freeze/2` | `library(freeze)` | `freeze(?Var,+Goal)` | `delayed` | If Var is unbound, delays Goal until Var becomes instantiated; otherwise calls Goal immediately. |
|
|
6709
|
+
| `frozen/2` | `library(freeze)` | `frozen(+Term,-Goal)` | `det` | Collects residual freeze goals attached to attributed variables in Term and returns them as a conjunction, or true when none remain. |
|
|
6710
|
+
| `functor/3` | `ISO core` | `functor(?Term,?Name,?Arity)` | `mode-dependent` | Decomposes an instantiated term into functor and arity, or constructs a term when Name and Arity are given. |
|
|
6711
|
+
|
|
6712
|
+
##### Predicate reference — G
|
|
6713
|
+
|
|
6714
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6715
|
+
| --- | --- | --- | --- | --- |
|
|
6716
|
+
| `ge/2` | `library(comparison)` | `ge(+A,+B)` | `semidet` | Succeeds iff A is greater than or equal to B under the library's portable comparison rules. |
|
|
6717
|
+
| `gen_assoc/3` | `library(assoc)` | `gen_assoc(?Key,+Assoc,?Value)` | `nondet` | Enumerates or checks Key-Value bindings stored in Assoc in key order. |
|
|
6718
|
+
| `gen_int/1` | `library(between)` | `gen_int(?N)` | `multi` | Enumerates all integers in an expanding symmetric sequence. |
|
|
6719
|
+
| `gen_nat/1` | `library(between)` | `gen_nat(?N)` | `multi` | Enumerates the natural numbers 0,1,2,... without bound. |
|
|
6720
|
+
| `gensym/2` | `library(gensym)` | `gensym(+Base,-Atom)` | `det` | Generates the next process-local atom formed from Base and its monotonically increasing counter. |
|
|
6721
|
+
| `get_assoc/3` | `library(assoc)` | `get_assoc(+Key,+Assoc,?Value)` | `semidet` | Looks up Key in Assoc and relates it to Value. |
|
|
6722
|
+
| `get_assoc/5` | `library(assoc)` | `get_assoc(+Key,+Assoc0,?OldValue,-Assoc,+NewValue)` | `semidet` | Looks up Key and, when present, returns OldValue together with a copy having that key updated to NewValue. |
|
|
6723
|
+
| `get_attr/3` | `library(atts)` | `get_attr(+Var,+Module,?Value)` | `semidet` | Retrieves Module's attribute Value from attributed variable Var. |
|
|
6724
|
+
| `get_atts/2` | `library(atts)` | `get_atts(+Var,?Attributes)` | `semidet` | Compatibility relation that retrieves or matches the attribute collection of Var. |
|
|
6725
|
+
| `get_byte/1` | `ISO core` | `get_byte(?Byte)` | `det` | Reads the next byte from the current binary input stream, or -1 at end of file. |
|
|
6726
|
+
| `get_byte/2` | `ISO core` | `get_byte(+Stream,?Byte)` | `det` | Reads the next byte from Stream, or -1 at end of file. |
|
|
6727
|
+
| `get_char/1` | `ISO core` | `get_char(?Char)` | `det` | Reads the next character from the current input stream, or end_of_file. |
|
|
6728
|
+
| `get_char/2` | `ISO core` | `get_char(+Stream,?Char)` | `det` | Reads the next character from Stream, or end_of_file. |
|
|
6729
|
+
| `get_code/1` | `ISO core` | `get_code(?Code)` | `det` | Reads the next character code from the current input stream, or -1 at end of file. |
|
|
6730
|
+
| `get_code/2` | `ISO core` | `get_code(+Stream,?Code)` | `det` | Reads the next character code from Stream, or -1 at end of file. |
|
|
6731
|
+
| `get_line_to_chars/3` | `library(charsio)` | `get_line_to_chars(+Stream,-Chars,?Tail)` | `det` | Reads a line of characters from Stream and appends Tail, enabling difference-list use. |
|
|
6732
|
+
| `get_n_chars/3` | `library(charsio)` | `get_n_chars(+Stream,+Count,-Chars)` | `det` | Reads up to Count characters from Stream. |
|
|
6733
|
+
| `get_single_char/1` | `library(charsio)` | `get_single_char(-Code)` | `det` | Reads one character code from the current input stream without line editing. |
|
|
6734
|
+
| `getenv/2` | `library(os)` | `getenv(+Name,?Value)` | `semidet` | Relates environment variable Name to its current host Value. |
|
|
6735
|
+
| `global_cardinality/2` | `library(clpz)` | `global_cardinality(+Vars,+Pairs)` | `delayed` | Constrains Value-Count pairs to describe occurrence counts of values in Vars. |
|
|
6736
|
+
| `global_cardinality/3` | `library(clpz)` | `global_cardinality(+Vars,+Pairs,+Options)` | `delayed` | Posts global-cardinality constraints with supported cost/options extensions. |
|
|
6737
|
+
| `ground/1` | `ISO core` | `ground(?Term)` | `semidet` | Succeeds iff Term contains no unbound variables. |
|
|
6738
|
+
| `group_pairs_by_key/2` | `library(pairs)` | `group_pairs_by_key(+Pairs,-Grouped)` | `det` | Groups consecutive equal-key pairs into Key-Values pairs; input is expected to be key ordered. |
|
|
6739
|
+
| `gt/2` | `library(comparison)` | `gt(+A,+B)` | `semidet` | Succeeds iff A is greater than B under the library's portable comparison rules. |
|
|
6740
|
+
|
|
6741
|
+
##### Predicate reference — H
|
|
6742
|
+
|
|
6743
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6744
|
+
| --- | --- | --- | --- | --- |
|
|
6745
|
+
| `halt/0` | `ISO core` | `halt` | `terminal` | Requests processor termination with status 0. |
|
|
6746
|
+
| `halt/1` | `ISO core` | `halt(+Status)` | `terminal` | Requests processor termination with the supplied integer status. |
|
|
6747
|
+
| `hex_bytes/2` | `library(crypto)` | `hex_bytes(?Hex,?Bytes)` | `mode-dependent` | Relates hexadecimal character data to the corresponding byte list. |
|
|
6748
|
+
|
|
6749
|
+
##### Predicate reference — I
|
|
6750
|
+
|
|
6751
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6752
|
+
| --- | --- | --- | --- | --- |
|
|
6753
|
+
| `if_/3` | `library(reif)` | `if_(+Condition,+Then,+Else)` | `meta` | Calls reified Condition and commits to Then when it yields true or Else when it yields false. |
|
|
6754
|
+
| `in/2` | `library(clpz)` | `in(?Left,?Right)` | `delayed` | Constrains one integer variable/expression to the supplied finite-domain expression. |
|
|
6755
|
+
| `include/3` | `library(lists)` | `include(+Pred,+List,-Included)` | `meta` | Keeps exactly the elements of List for which Pred succeeds, preserving order. |
|
|
6756
|
+
| `indomain/1` | `library(clpz)` | `indomain(+Var)` | `nondet` | Enumerates the finite-domain values currently permitted for Var. |
|
|
6757
|
+
| `ins/2` | `library(clpz)` | `ins(?Left,?Right)` | `delayed` | Constrains every variable in a list to the supplied finite-domain expression. |
|
|
6758
|
+
| `instantiation_error/0` | `library(error)` | `instantiation_error` | `terminal` | Raises error(instantiation_error,[]). |
|
|
6759
|
+
| `instantiation_error/1` | `library(error)` | `instantiation_error(+Context)` | `terminal` | Raises an instantiation error carrying Context. |
|
|
6760
|
+
| `integer_si/1` | `library(si)` | `integer_si(?Term)` | `semidet` | Succeeds iff Term is sufficiently instantiated to be treated as integer by dependent constraint code. |
|
|
6761
|
+
| `integer/1` | `ISO core` | `integer(?Term)` | `semidet` | Succeeds iff Term is an integer. |
|
|
6762
|
+
| `intersection/3` | `library(lists)` | `intersection(+A,+B,-Intersection)` | `det` | Keeps elements of A that unify with some member of B, preserving A order. |
|
|
6763
|
+
| `is_assoc/1` | `library(assoc)` | `is_assoc(+Assoc)` | `semidet` | Succeeds iff Assoc is a valid association tree. |
|
|
6764
|
+
| `is_ordset/1` | `library(ordsets)` | `is_ordset(+Set)` | `semidet` | Succeeds iff Set is a proper strictly ordered duplicate-free list under standard term order. |
|
|
6765
|
+
| `is_set/1` | `library(lists)` | `is_set(+List)` | `semidet` | Succeeds iff List is proper and contains no duplicate terms under the library's set equality test. |
|
|
6766
|
+
| `is/2` | `ISO core` | `(?Result is +Expression)` | `semidet` | Evaluates the arithmetic Expression and unifies Result with the resulting number. |
|
|
6767
|
+
|
|
6768
|
+
##### Predicate reference — J
|
|
6769
|
+
|
|
6770
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6771
|
+
| --- | --- | --- | --- | --- |
|
|
6772
|
+
| `join/3` | `library(strings)` | `join(+Parts,+Separator,-Text)` | `det` | Joins lexical Parts with literal Separator to produce Text. |
|
|
6773
|
+
|
|
6774
|
+
##### Predicate reference — K
|
|
6775
|
+
|
|
6776
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6777
|
+
| --- | --- | --- | --- | --- |
|
|
6778
|
+
| `keysort/2` | `ISO core` | `keysort(+Pairs,?Sorted)` | `det` | Stably sorts Key-Value pairs by key without removing duplicates. |
|
|
6779
|
+
|
|
6780
|
+
##### Predicate reference — L
|
|
6781
|
+
|
|
6782
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6783
|
+
| --- | --- | --- | --- | --- |
|
|
6784
|
+
| `label/1` | `library(clpz)` | `label(+Vars)` | `nondet` | Labels Vars using default CLP(Z) enumeration options. |
|
|
6785
|
+
| `labeling/1` | `library(clpb)` | `labeling(+BooleanVariables)` | `nondet` | Enumerates truth assignments for constrained Boolean variables. |
|
|
6786
|
+
| `labeling/2` | `library(clpz)` | `labeling(+Options,+Vars)` | `nondet` | Enumerates integer assignments satisfying posted constraints using the requested labeling Options. |
|
|
6787
|
+
| `last/2` | `library(lists)` | `last(+List,?Last)` | `semidet` | Relates Last to the final element of a nonempty proper list. |
|
|
6788
|
+
| `lcm/3` | `library(arithmetic)` | `lcm(+A,+B,-LCM)` | `det` | Computes the least common multiple of integers A and B. |
|
|
6789
|
+
| `le/2` | `library(comparison)` | `le(+A,+B)` | `semidet` | Succeeds iff A is less than or equal to B under the library's portable comparison rules. |
|
|
6790
|
+
| `length/2` | `library(lists)` | `length(?List,?Length)` | `nondet` | Relates a list skeleton to its nonnegative length; with both arguments variable it enumerates increasing finite lengths. |
|
|
6791
|
+
| `lex_chain/1` | `library(clpz)` | `lex_chain(+Lists)` | `delayed` | Constrains successive lists to be lexicographically nondecreasing. |
|
|
6792
|
+
| `list_max/2` | `library(lists)` | `list_max(+List,-Max)` | `semidet` | Compatibility alias returning the greatest element of a nonempty list. |
|
|
6793
|
+
| `list_min/2` | `library(lists)` | `list_min(+List,-Min)` | `semidet` | Compatibility alias returning the least element of a nonempty list. |
|
|
6794
|
+
| `list_si/1` | `library(si)` | `list_si(?Term)` | `semidet` | Succeeds iff Term is sufficiently instantiated to be treated as list by dependent constraint code. |
|
|
6795
|
+
| `list_to_assoc/2` | `library(assoc)` | `list_to_assoc(+Pairs,-Assoc)` | `det` | Builds an association tree from Key-Value pairs after key ordering/validation. |
|
|
6796
|
+
| `list_to_ord_set/2` | `library(ordsets)` | `list_to_ord_set(+List,-Set)` | `det` | Sorts List and removes duplicates to form an ordered set. |
|
|
6797
|
+
| `list_to_set/2` | `library(lists)` | `list_to_set(+List,-Set)` | `det` | Removes later structural duplicates while preserving first-occurrence order. |
|
|
6798
|
+
| `listing/1` | `library(format)` | `listing(+PredicateSpec)` | `nondet` | Writes accessible clauses selected by PredicateSpec in source-like form. |
|
|
6799
|
+
| `lowercase/2` | `library(strings)` | `lowercase(+Text,-Lower)` | `det` | Maps ASCII uppercase letters in Text to lowercase while preserving other characters. |
|
|
6800
|
+
| `lsb/2` | `library(arithmetic)` | `lsb(+Integer,-Index)` | `semidet` | Returns the zero-based index of the least significant set bit of a positive integer. |
|
|
6801
|
+
| `lt/2` | `library(comparison)` | `lt(+A,+B)` | `semidet` | Succeeds iff A is less than B under the library's portable comparison rules. |
|
|
6802
|
+
|
|
6803
|
+
##### Predicate reference — M
|
|
6804
|
+
|
|
6805
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6806
|
+
| --- | --- | --- | --- | --- |
|
|
6807
|
+
| `make_directory_path/1` | `library(files)` | `make_directory_path(+Path)` | `det` | Creates Path and any missing parent directories. |
|
|
6808
|
+
| `make_directory/1` | `library(files)` | `make_directory(+Path)` | `det` | Creates one directory at Path. |
|
|
6809
|
+
| `map_assoc/2` | `library(assoc)` | `map_assoc(+Goal,+Assoc)` | `meta` | Calls Goal for each value in Assoc in key order. |
|
|
6810
|
+
| `map_assoc/3` | `library(assoc)` | `map_assoc(+Goal,+Assoc0,-Assoc)` | `meta` | Maps Goal over corresponding values of Assoc0 to construct Assoc with the same keys. |
|
|
6811
|
+
| `map_list_to_pairs/3` | `library(pairs)` | `map_list_to_pairs(+Goal,+List,-Pairs)` | `meta` | Calls Goal(Element,Key) for each element and returns Key-Element pairs in input order. |
|
|
6812
|
+
| `maplist/2` | `library(lists)` | `maplist(+Goal,?List1)` | `meta` | Calls Goal pointwise over 1 list(s); all lists must end together and Goal receives the corresponding elements. |
|
|
6813
|
+
| `maplist/3` | `library(lists)` | `maplist(+Goal,?List1,?List2)` | `meta` | Calls Goal pointwise over 2 list(s); all lists must end together and Goal receives the corresponding elements. |
|
|
6814
|
+
| `maplist/4` | `library(lists)` | `maplist(+Goal,?List1,?List2,?List3)` | `meta` | Calls Goal pointwise over 3 list(s); all lists must end together and Goal receives the corresponding elements. |
|
|
6815
|
+
| `maplist/5` | `library(lists)` | `maplist(+Goal,?List1,?List2,?List3,?List4)` | `meta` | Calls Goal pointwise over 4 list(s); all lists must end together and Goal receives the corresponding elements. |
|
|
6816
|
+
| `maplist/6` | `library(lists)` | `maplist(+Goal,?List1,?List2,?List3,?List4,?List5)` | `meta` | Calls Goal pointwise over 5 list(s); all lists must end together and Goal receives the corresponding elements. |
|
|
6817
|
+
| `maplist/7` | `library(lists)` | `maplist(+Goal,?List1,?List2,?List3,?List4,?List5,?List6)` | `meta` | Calls Goal pointwise over 6 list(s); all lists must end together and Goal receives the corresponding elements. |
|
|
6818
|
+
| `maplist/8` | `library(lists)` | `maplist(+Goal,?List1,?List2,?List3,?List4,?List5,?List6,?List7)` | `meta` | Calls Goal pointwise over 7 list(s); all lists must end together and Goal receives the corresponding elements. |
|
|
6819
|
+
| `maplist/9` | `library(lists)` | `maplist(+Goal,?List1,?List2,?List3,?List4,?List5,?List6,?List7,?List8)` | `meta` | Calls Goal pointwise over 8 list(s); all lists must end together and Goal receives the corresponding elements. |
|
|
6820
|
+
| `matches/2` | `library(strings)` | `matches(+Text,+Pattern)` | `semidet` | Succeeds iff Text matches the library's portable pattern language described by Pattern. |
|
|
6821
|
+
| `matches/3` | `library(strings)` | `matches(+Text,+Pattern,-Context)` | `semidet` | Matches Text against the portable pattern language and returns named-capture Context. |
|
|
6822
|
+
| `max_assoc/3` | `library(assoc)` | `max_assoc(+Assoc,?Key,?Value)` | `semidet` | Relates Key and Value to the greatest-key entry; fails for an empty association. |
|
|
6823
|
+
| `max_list/2` | `library(lists)` | `max_list(+List,-Max)` | `semidet` | Returns the greatest element of a nonempty list under EyeProlog term order. |
|
|
6824
|
+
| `max_sleep_time/1` | `library(time)` | `max_sleep_time(-Seconds)` | `det` | Returns the implementation maximum supported sleep interval in seconds. |
|
|
6825
|
+
| `maybe/0` | `library(random)` | `maybe` | `semidet` | Succeeds with probability approximately 1/2 using the current pseudo-random generator state. |
|
|
6826
|
+
| `maybe/1` | `library(random)` | `maybe(+Probability)` | `semidet` | Succeeds with the supplied probability in the unit interval using the current pseudo-random state. |
|
|
6827
|
+
| `maybe/2` | `library(random)` | `maybe(+K,+N)` | `semidet` | Succeeds with probability K/N using the current pseudo-random state. |
|
|
6828
|
+
| `member/2` | `library(lists)` | `member(?Item,+List)` | `nondet` | Succeeds once for each list position whose element unifies with Item, preserving list order. |
|
|
6829
|
+
| `memberchk/2` | `library(lists)` | `memberchk(?Item,+List)` | `semidet` | Succeeds for the first member of List that unifies with Item and commits to that match. |
|
|
6830
|
+
| `memberd_t/3` | `library(reif)` | `memberd_t(?Item,+List,?Truth)` | `delayed` | Reifies membership of Item in List into Boolean Truth using dif/3-aware comparison. |
|
|
6831
|
+
| `min_assoc/3` | `library(assoc)` | `min_assoc(+Assoc,?Key,?Value)` | `semidet` | Relates Key and Value to the least-key entry; fails for an empty association. |
|
|
6832
|
+
| `min_list/2` | `library(lists)` | `min_list(+List,-Min)` | `semidet` | Returns the least element of a nonempty list under EyeProlog term order. |
|
|
6833
|
+
| `msb/2` | `library(arithmetic)` | `msb(+Integer,-Index)` | `semidet` | Returns the zero-based index of the most significant set bit of a positive integer. |
|
|
6834
|
+
| `must_be/2` | `library(error)` | `must_be(+Type,+Term)` | `semidet` | Succeeds when Term is instantiated and satisfies Type; otherwise raises the corresponding instantiation or type/domain error. |
|
|
6835
|
+
|
|
6836
|
+
##### Predicate reference — N
|
|
6837
|
+
|
|
6838
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6839
|
+
| --- | --- | --- | --- | --- |
|
|
6840
|
+
| `neighbors/3` | `library(ugraphs)` | `neighbors(+Vertex,+Graph,?Neighbors)` | `semidet` | Relates Vertex to its outgoing neighbor list in Graph. |
|
|
6841
|
+
| `neighbours/3` | `library(ugraphs)` | `neighbours(+Vertex,+Graph,?Neighbors)` | `semidet` | British-spelling alias of neighbors/3. |
|
|
6842
|
+
| `nl/0` | `ISO core` | `nl` | `det` | Writes one newline to the current output stream. |
|
|
6843
|
+
| `nl/1` | `ISO core` | `nl(+Stream)` | `det` | Writes one newline to Stream. |
|
|
6844
|
+
| `nodebug/1` | `library(debug)` | `nodebug(+Topic)` | `det` | Disables debugging messages for Topic. |
|
|
6845
|
+
| `nonvar/1` | `ISO core` | `nonvar(?Term)` | `semidet` | Succeeds iff Term is not an unbound variable. |
|
|
6846
|
+
| `not_si/1` | `library(si)` | `not_si(+Goal)` | `semidet` | Performs sufficient-instantiation-aware negation for the SI compatibility layer. |
|
|
6847
|
+
| `nth0/3` | `library(lists)` | `nth0(?Index,+List,?Item)` | `nondet` | Relates zero-based Index to Item at that position in List. |
|
|
6848
|
+
| `nth0/4` | `library(lists)` | `nth0(?Index,+List,?Item,?Rest)` | `nondet` | Relates zero-based Index and Item to List and the list Rest obtained by deleting that position. |
|
|
6849
|
+
| `nth1/3` | `library(lists)` | `nth1(?Index,+List,?Item)` | `nondet` | Relates one-based Index to Item at that position in List. |
|
|
6850
|
+
| `nth1/4` | `library(lists)` | `nth1(?Index,+List,?Item,?Rest)` | `nondet` | Relates one-based Index and Item to List and the list Rest obtained by deleting that position. |
|
|
6851
|
+
| `number_chars/2` | `ISO core` | `number_chars(?Number,?Chars)` | `mode-dependent` | Relates a finite number to its canonical character-list representation or parses such a list. |
|
|
6852
|
+
| `number_codes/2` | `ISO core` | `number_codes(?Number,?Codes)` | `mode-dependent` | Relates a finite number to its canonical character-code representation or parses such a list. |
|
|
6853
|
+
| `number_string/2` | `library(strings)` | `number_string(?Number,?Text)` | `mode-dependent` | Relates a number to atom/character-list text using the library lexical conversion rules. |
|
|
6854
|
+
| `number_to_rational/2` | `library(arithmetic)` | `number_to_rational(+Number,-Rational)` | `det` | Converts an EyeProlog number to the library rational representation, preserving integers exactly. |
|
|
6855
|
+
| `number_to_rational/3` | `library(arithmetic)` | `number_to_rational(+Number,-Numerator,-Denominator)` | `det` | Converts Number to a normalized numerator and positive denominator. |
|
|
6856
|
+
| `number/1` | `ISO core` | `number(?Term)` | `semidet` | Succeeds iff Term is an integer or float. |
|
|
6857
|
+
| `numbervars/3` | `library(terms)` | `numbervars(+Term,+Start,-End)` | `det` | Numbers unbound variables in Term using $VAR(N) terms beginning at Start and returns the next unused End index. |
|
|
6858
|
+
| `numlist/2` | `library(between)` | `numlist(+High,-List)` | `det` | Constructs the inclusive integer list from 1 through High, with the module's empty-range behavior. |
|
|
6859
|
+
| `numlist/3` | `library(between)` | `numlist(+Low,+High,-List)` | `det` | Constructs the inclusive ascending integer list from Low through High. |
|
|
6860
|
+
| `nvalue/2` | `library(clpz)` | `nvalue(?N,+Vars)` | `delayed` | Constrains N to the number of distinct values taken by Vars. |
|
|
6861
|
+
|
|
6862
|
+
##### Predicate reference — O
|
|
6863
|
+
|
|
6864
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6865
|
+
| --- | --- | --- | --- | --- |
|
|
6866
|
+
| `once/1` | `ISO core` | `once(+Goal)` | `semidet` | Runs Goal and returns at most its first solution. |
|
|
6867
|
+
| `op/3` | `ISO core` | `op(+Priority,+Specifier,+NameOrNames)` | `det` | Defines, replaces, or removes operator declarations in the current program. |
|
|
6868
|
+
| `open/3` | `ISO core` | `open(+SourceSink,+Mode,-Stream)` | `det` | Opens SourceSink in Mode and returns a stream handle. |
|
|
6869
|
+
| `open/4` | `ISO core` | `open(+SourceSink,+Mode,-Stream,+Options)` | `det` | Opens SourceSink in Mode with validated stream Options and returns a stream handle. |
|
|
6870
|
+
| `ord_add_element/3` | `library(ordsets)` | `ord_add_element(+Set,+Element,-NewSet)` | `det` | Inserts Element into ordered Set if absent, preserving order. |
|
|
6871
|
+
| `ord_del_element/3` | `library(ordsets)` | `ord_del_element(+Set,+Element,-NewSet)` | `det` | Removes Element from ordered Set if present, preserving order. |
|
|
6872
|
+
| `ord_disjoint/2` | `library(ordsets)` | `ord_disjoint(+A,+B)` | `semidet` | Succeeds iff ordered sets A and B have no common element. |
|
|
6873
|
+
| `ord_empty/1` | `library(ordsets)` | `ord_empty(?Set)` | `semidet` | Succeeds exactly when Set is the empty ordered set []. |
|
|
6874
|
+
| `ord_intersect/2` | `library(ordsets)` | `ord_intersect(+A,+B)` | `semidet` | Succeeds iff ordered sets A and B have a nonempty intersection. |
|
|
6875
|
+
| `ord_intersect/3` | `library(ordsets)` | `ord_intersect(+A,+B,-Intersection)` | `det` | Computes the ordered-set intersection of A and B. |
|
|
6876
|
+
| `ord_intersection/2` | `library(ordsets)` | `ord_intersection(+Sets,-Intersection)` | `det` | Computes the intersection of a list of ordered sets. |
|
|
6877
|
+
| `ord_intersection/3` | `library(ordsets)` | `ord_intersection(+A,+B,-Intersection)` | `det` | Computes the ordered-set intersection of A and B. |
|
|
6878
|
+
| `ord_intersection/4` | `library(ordsets)` | `ord_intersection(+A,+B,-Intersection,-Difference)` | `det` | Computes A intersect B and the elements of A outside B in one traversal. |
|
|
6879
|
+
| `ord_list_to_assoc/2` | `library(assoc)` | `ord_list_to_assoc(+Pairs,-Assoc)` | `det` | Builds an association tree from an already key-ordered pair list. |
|
|
6880
|
+
| `ord_memberchk/2` | `library(ordsets)` | `ord_memberchk(+Element,+Set)` | `semidet` | Tests Element membership using ordered-set comparison and early termination. |
|
|
6881
|
+
| `ord_selectchk/3` | `library(ordsets)` | `ord_selectchk(+Element,+Set,?Rest)` | `semidet` | Checks membership of Element in ordered Set and returns Rest with that element removed. |
|
|
6882
|
+
| `ord_seteq/2` | `library(ordsets)` | `ord_seteq(+A,+B)` | `semidet` | Succeeds iff ordered sets A and B contain exactly the same elements. |
|
|
6883
|
+
| `ord_subset/2` | `library(ordsets)` | `ord_subset(+Sub,+Super)` | `semidet` | Succeeds iff every element of ordered Sub is present in ordered Super. |
|
|
6884
|
+
| `ord_subtract/3` | `library(ordsets)` | `ord_subtract(+Set,+Delete,-Remaining)` | `det` | Computes ordered Set minus every element of ordered Delete. |
|
|
6885
|
+
| `ord_symdiff/3` | `library(ordsets)` | `ord_symdiff(+A,+B,-Difference)` | `det` | Computes the symmetric difference of ordered sets A and B. |
|
|
6886
|
+
| `ord_union/2` | `library(ordsets)` | `ord_union(+Sets,-Union)` | `det` | Computes the union of a list of ordered sets. |
|
|
6887
|
+
| `ord_union/3` | `library(ordsets)` | `ord_union(+A,+B,-Union)` | `det` | Computes the ordered-set union of A and B. |
|
|
6888
|
+
| `ord_union/4` | `library(ordsets)` | `ord_union(+A,+B,-Union,-New)` | `det` | Computes Union and the elements contributed by one side according to the library's four-argument contract. |
|
|
6889
|
+
|
|
6890
|
+
##### Predicate reference — P
|
|
6891
|
+
|
|
6892
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6893
|
+
| --- | --- | --- | --- | --- |
|
|
6894
|
+
| `pairs_keys_values/3` | `library(pairs)` | `pairs_keys_values(?Pairs,?Keys,?Values)` | `mode-dependent` | Relates a list of Key-Value pairs to the corresponding Keys and Values lists. |
|
|
6895
|
+
| `pairs_keys/2` | `library(pairs)` | `pairs_keys(+Pairs,-Keys)` | `det` | Projects the keys of Pairs in order. |
|
|
6896
|
+
| `pairs_values/2` | `library(pairs)` | `pairs_values(+Pairs,-Values)` | `det` | Projects the values of Pairs in order. |
|
|
6897
|
+
| `partial_string_tail/2` | `library(iso_ext)` | `partial_string_tail(+Term,?Tail)` | `semidet` | Relates a partial string to its open tail. |
|
|
6898
|
+
| `partial_string/1` | `library(iso_ext)` | `partial_string(?Term)` | `semidet` | Succeeds iff Term has the library's partial-string/list representation. |
|
|
6899
|
+
| `partial_string/3` | `library(iso_ext)` | `partial_string(?Term,?Chars,?Tail)` | `mode-dependent` | Relates a partial-string term to its character prefix Chars and open Tail. |
|
|
6900
|
+
| `path_canonical/2` | `library(files)` | `path_canonical(+Path,-Canonical)` | `det` | Returns the canonicalized host path corresponding to Path. |
|
|
6901
|
+
| `path_segments/2` | `library(files)` | `path_segments(?Path,?Segments)` | `mode-dependent` | Relates a filesystem path to its component segments. |
|
|
6902
|
+
| `peek_byte/1` | `ISO core` | `peek_byte(?Byte)` | `det` | Observes the next byte on the current binary input stream without consuming it. |
|
|
6903
|
+
| `peek_byte/2` | `ISO core` | `peek_byte(+Stream,?Byte)` | `det` | Observes the next byte on Stream without consuming it. |
|
|
6904
|
+
| `peek_char/1` | `ISO core` | `peek_char(?Char)` | `det` | Observes the next character on the current input stream without consuming it. |
|
|
6905
|
+
| `peek_char/2` | `ISO core` | `peek_char(+Stream,?Char)` | `det` | Observes the next character on Stream without consuming it. |
|
|
6906
|
+
| `peek_code/1` | `ISO core` | `peek_code(?Code)` | `det` | Observes the next character code on the current input stream without consuming it. |
|
|
6907
|
+
| `peek_code/2` | `ISO core` | `peek_code(+Stream,?Code)` | `det` | Observes the next character code on Stream without consuming it. |
|
|
6908
|
+
| `permutation/2` | `library(lists)` | `permutation(?List,?Permutation)` | `nondet` | Relates two proper lists that are permutations of one another, enumerating permutations in select/3 order. |
|
|
6909
|
+
| `phrase_from_file/2` | `library(pio)` | `phrase_from_file(+Grammar,+Path)` | `semidet` | Reads Path as characters and succeeds iff Grammar consumes the complete content. |
|
|
6910
|
+
| `phrase_from_file/3` | `library(pio)` | `phrase_from_file(+Grammar,+Path,+Options)` | `semidet` | Reads Path with Options and succeeds iff Grammar consumes the complete content. |
|
|
6911
|
+
| `phrase_from_stream/2` | `library(pio)` | `phrase_from_stream(+Grammar,+Stream)` | `semidet` | Reads Stream as characters and succeeds iff Grammar consumes the complete content. |
|
|
6912
|
+
| `phrase_to_file/2` | `library(pio)` | `phrase_to_file(+Grammar,+Path)` | `semidet` | Generates characters with Grammar and writes them to Path. |
|
|
6913
|
+
| `phrase_to_file/3` | `library(pio)` | `phrase_to_file(+Grammar,+Path,+Options)` | `semidet` | Generates characters with Grammar and writes them to Path according to Options. |
|
|
6914
|
+
| `phrase_to_stream/2` | `library(pio)` | `phrase_to_stream(+Grammar,+Stream)` | `semidet` | Generates characters with Grammar and writes them to Stream. |
|
|
6915
|
+
| `phrase/2` | `ISO core + library(dcgs)` | `phrase(+Body,?Sequence)` | `mode-dependent` | Runs a DCG Body over Sequence and requires complete consumption. |
|
|
6916
|
+
| `phrase/3` | `ISO core + library(dcgs)` | `phrase(+Body,?Sequence,?Rest)` | `mode-dependent` | Runs a DCG Body over Sequence and relates Rest to the unconsumed suffix. |
|
|
6917
|
+
| `phrase/4` | `library(dcgs)` | `phrase(+Body,?S0,?S,?A1)` | `mode-dependent` | Calls the parameterized DCG Body with one additional argument and the difference-list pair S0,S. |
|
|
6918
|
+
| `phrase/5` | `library(dcgs)` | `phrase(+Body,?S0,?S,?A1,?A2)` | `mode-dependent` | Calls the parameterized DCG Body with two additional arguments and the difference-list pair S0,S. |
|
|
6919
|
+
| `pid/1` | `library(os)` | `pid(-Pid)` | `det` | Returns the host process identifier. |
|
|
6920
|
+
| `popcount/2` | `library(arithmetic)` | `popcount(+Integer,-Count)` | `det` | Counts the set bits in the nonnegative integer representation. |
|
|
6921
|
+
| `portray_clause_/3` | `library(format)` | `portray_clause_(+Clause,?S0,?S)` | `det` | Expanded DCG form of portray_clause_//1 producing clause text between S0 and S. |
|
|
6922
|
+
| `portray_clause/1` | `library(format)` | `portray_clause(+Clause)` | `det` | Writes Clause in readable clause-oriented layout to the current output stream. |
|
|
6923
|
+
| `portray_clause/2` | `library(format)` | `portray_clause(+Stream,+Clause)` | `det` | Writes Clause in readable clause-oriented layout to Stream. |
|
|
6924
|
+
| `put_assoc/4` | `library(assoc)` | `put_assoc(+Key,+Assoc0,+Value,-Assoc)` | `det` | Returns Assoc equal to Assoc0 with Key inserted or replaced by Value. |
|
|
6925
|
+
| `put_attr/3` | `library(atts)` | `put_attr(+Var,+Module,+Value)` | `det` | Sets Module's attribute Value on Var in the current logical branch. |
|
|
6926
|
+
| `put_atts/2` | `library(atts)` | `put_atts(+Var,+AttributeSpec)` | `det` | Compatibility relation that adds, replaces, or removes attributes on Var according to AttributeSpec. |
|
|
6927
|
+
| `put_byte/1` | `ISO core` | `put_byte(+Byte)` | `det` | Writes one byte to the current binary output stream. |
|
|
6928
|
+
| `put_byte/2` | `ISO core` | `put_byte(+Stream,+Byte)` | `det` | Writes one byte to Stream. |
|
|
6929
|
+
| `put_char/1` | `ISO core` | `put_char(+Char)` | `det` | Writes one character to the current output stream. |
|
|
6930
|
+
| `put_char/2` | `ISO core` | `put_char(+Stream,+Char)` | `det` | Writes one character to Stream. |
|
|
6931
|
+
| `put_code/1` | `ISO core` | `put_code(+Code)` | `det` | Writes one character code to the current output stream. |
|
|
6932
|
+
| `put_code/2` | `ISO core` | `put_code(+Stream,+Code)` | `det` | Writes one character code to Stream. |
|
|
6933
|
+
|
|
6934
|
+
##### Predicate reference — R
|
|
6935
|
+
|
|
6936
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6937
|
+
| --- | --- | --- | --- | --- |
|
|
6938
|
+
| `random_integer/3` | `library(random)` | `random_integer(+Lower,+Upper,-Value)` | `det` | Returns a pseudo-random integer Value in the half-open interval [Lower,Upper). |
|
|
6939
|
+
| `random_labeling/2` | `library(clpb)` | `random_labeling(+Seed,+BooleanVariables)` | `nondet` | Labels constrained Boolean variables in pseudo-randomized order determined by Seed. |
|
|
6940
|
+
| `random/1` | `library(random)` | `random(-Value)` | `det` | Advances the current Park-Miller pseudo-random state and returns Value in [0,1). |
|
|
6941
|
+
| `random/3` | `library(random)` | `random(+Seed0,-Value,-Seed)` | `det` | Pure state-threaded Park-Miller step: Value is in [0,1) and Seed is the successor state. |
|
|
6942
|
+
| `rational_numerator_denominator/3` | `library(arithmetic)` | `rational_numerator_denominator(+Rational,-Numerator,-Denominator)` | `det` | Decomposes a supported rational representation into normalized numerator and denominator. |
|
|
6943
|
+
| `raw_argv/1` | `library(os)` | `raw_argv(-Args)` | `det` | Returns the raw host process argument vector. |
|
|
6944
|
+
| `reachable/3` | `library(ugraphs)` | `reachable(+Vertex,+Graph,-Reachable)` | `det` | Returns vertices reachable from Vertex by zero or more directed edges. |
|
|
6945
|
+
| `read_from_chars/2` | `library(charsio)` | `read_from_chars(+Chars,?Term)` | `det` | Parses one term from character-list source using default read options. |
|
|
6946
|
+
| `read_term_from_chars/3` | `library(charsio)` | `read_term_from_chars(+Chars,?Term,+Options)` | `det` | Parses one term from character-list source according to Options. |
|
|
6947
|
+
| `read_term/2` | `ISO core` | `read_term(?Term,+Options)` | `det` | Reads one Prolog term from the current input stream using Options. |
|
|
6948
|
+
| `read_term/3` | `ISO core` | `read_term(+Stream,?Term,+Options)` | `det` | Reads one Prolog term from Stream using Options. |
|
|
6949
|
+
| `read/1` | `ISO core` | `read(?Term)` | `det` | Reads one Prolog term from the current input stream using default read options. |
|
|
6950
|
+
| `read/2` | `ISO core` | `read(+Stream,?Term)` | `det` | Reads one Prolog term from Stream using default read options. |
|
|
6951
|
+
| `rename_file/2` | `library(files)` | `rename_file(+Source,+Target)` | `det` | Renames or moves Source to Target on the host filesystem. |
|
|
6952
|
+
| `repeat/0` | `ISO core` | `repeat` | `multi` | Succeeds repeatedly without end, producing another solution on every backtracking step. |
|
|
6953
|
+
| `repeat/1` | `library(between)` | `repeat(+Count)` | `multi` | Succeeds Count times on backtracking for a nonnegative integer Count. |
|
|
6954
|
+
| `replace/4` | `library(strings)` | `replace(+Text,+Search,+Replacement,-Result)` | `det` | Replaces every literal occurrence of Search in Text by Replacement. |
|
|
6955
|
+
| `representation_error/1` | `library(error)` | `representation_error(+Flag)` | `terminal` | Raises a representation_error(Flag) exception. |
|
|
6956
|
+
| `reset_gensym/1` | `library(gensym)` | `reset_gensym(+Base)` | `det` | Resets the generated-atom counter associated with Base. |
|
|
6957
|
+
| `resource_error/1` | `library(error)` | `resource_error(+Resource)` | `terminal` | Raises a resource_error(Resource) exception. |
|
|
6958
|
+
| `resource_error/2` | `library(error)` | `resource_error(+Resource,+Context)` | `terminal` | Raises a resource_error(Resource) exception carrying Context. |
|
|
6959
|
+
| `retract/1` | `ISO core` | `retract(+Clause)` | `nondet` | Removes matching clauses from a dynamic predicate one at a time under the logical update view. |
|
|
6960
|
+
| `retractall/1` | `ISO core` | `retractall(+Head)` | `det` | Removes every dynamic clause whose head matches Head while retaining the empty dynamic procedure. |
|
|
6961
|
+
| `reverse/2` | `library(lists)` | `reverse(?List,?Reversed)` | `mode-dependent` | Relates a proper list to the list containing the same elements in reverse order. |
|
|
6962
|
+
|
|
6963
|
+
##### Predicate reference — S
|
|
6964
|
+
|
|
6965
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
6966
|
+
| --- | --- | --- | --- | --- |
|
|
6967
|
+
| `same_length/2` | `library(lists)` | `same_length(?A,?B)` | `mode-dependent` | Relates lists A and B when they have the same length, constructing a skeleton when one length is known. |
|
|
6968
|
+
| `sat_count/2` | `library(clpb)` | `sat_count(+BooleanExpression,-Count)` | `det` | Counts satisfying assignments of BooleanExpression. |
|
|
6969
|
+
| `sat/1` | `library(clpb)` | `sat(+BooleanExpression)` | `delayed` | Posts Boolean constraints represented by BooleanExpression and fails iff they are inconsistent. |
|
|
6970
|
+
| `scalar_product/4` | `library(clpz)` | `scalar_product(+Coefficients,+Vars,+Relation,+Expr)` | `delayed` | Constrains the scalar product of Coefficients and Vars by Relation to Expr. |
|
|
6971
|
+
| `select/3` | `library(lists)` | `select(?Item,+List,?Rest)` | `nondet` | Relates List to Rest after removing one occurrence that unifies with Item; alternatives remove later occurrences. |
|
|
6972
|
+
| `selectchk/3` | `library(lists)` | `selectchk(?Item,+List,?Rest)` | `semidet` | Like select/3 but commits to the first removable occurrence. |
|
|
6973
|
+
| `seq/3` | `library(dcgs)` | `seq(?Sequence,?S0,?S)` | `mode-dependent` | DCG relation that consumes or emits exactly Sequence between difference-list states S0 and S. |
|
|
6974
|
+
| `seqq/3` | `library(dcgs)` | `seqq(+Sequences,?S0,?S)` | `nondet` | DCG relation that chooses one sequence from Sequences and consumes or emits it between S0 and S. |
|
|
6975
|
+
| `serialized/2` | `library(clpz)` | `serialized(+Starts,+Durations)` | `delayed` | Constrains tasks with Starts and Durations not to overlap. |
|
|
6976
|
+
| `set_input/1` | `ISO core` | `set_input(+Stream)` | `det` | Makes Stream the current input stream. |
|
|
6977
|
+
| `set_nth0/4` | `library(lists)` | `set_nth0(+Index,+List,+Item,-NewList)` | `semidet` | Returns NewList with the existing zero-based Index replaced by Item. |
|
|
6978
|
+
| `set_output/1` | `ISO core` | `set_output(+Stream)` | `det` | Makes Stream the current output stream. |
|
|
6979
|
+
| `set_prolog_flag/2` | `ISO core` | `set_prolog_flag(+Flag,+Value)` | `det` | Sets a supported mutable Prolog flag after validating its value. |
|
|
6980
|
+
| `set_random/1` | `library(random)` | `set_random(+Option)` | `det` | Sets the mutable pseudo-random generator state; seed(random) chooses a time-derived seed. |
|
|
6981
|
+
| `set_stream_position/2` | `ISO core` | `set_stream_position(+Stream,+Position)` | `det` | Repositions a repositionable stream to Position. |
|
|
6982
|
+
| `setenv/2` | `library(os)` | `setenv(+Name,+Value)` | `det` | Sets the host process environment variable Name to Value. |
|
|
6983
|
+
| `setof/3` | `ISO core` | `setof(+Template,+Goal,?Set)` | `nondet` | Like bagof/3, but each witness group is sorted by term order with identical duplicates removed. |
|
|
6984
|
+
| `setup_call_cleanup/3` | `library(iso_ext)` | `setup_call_cleanup(+Setup,+Goal,+Cleanup)` | `meta` | Runs Setup once, calls Goal, and guarantees Cleanup after Goal terminates in any way. |
|
|
6985
|
+
| `shell/1` | `library(os)` | `shell(+Command)` | `semidet` | Runs Command in the host shell and succeeds iff it exits successfully. |
|
|
6986
|
+
| `shell/2` | `library(os)` | `shell(+Command,?Status)` | `det` | Runs Command in the host shell and returns its exit Status. |
|
|
6987
|
+
| `sleep/1` | `library(time)` | `sleep(+Seconds)` | `det` | Suspends execution for the requested finite nonnegative duration, subject to the implementation limit. |
|
|
6988
|
+
| `slice/4` | `library(lists)` | `slice(+Start,+Count,+List,-Slice)` | `semidet` | Returns exactly Count elements of List beginning at zero-based Start. |
|
|
6989
|
+
| `smallest_divisor_from/3` | `library(primes)` | `smallest_divisor_from(+N,+Start,-Divisor)` | `semidet` | Returns the least divisor of N not smaller than Start according to the module's integer primality search. |
|
|
6990
|
+
| `sort/2` | `ISO core` | `sort(+List,?Sorted)` | `det` | Sorts List by standard term order and removes identical duplicates. |
|
|
6991
|
+
| `split/3` | `library(strings)` | `split(+Text,+Separator,-Parts)` | `det` | Splits Text at literal Separator occurrences into a proper list of atom parts. |
|
|
6992
|
+
| `stable/1` | `library(eyelet)` | `stable(+Goal)` | `meta` | Runs Goal to Eyelet fixed-point stability. |
|
|
6993
|
+
| `start_tabling/2` | `library(tabling)` | `start_tabling(+Wrapper,+Worker)` | `meta` | Compatibility entry point that executes Worker through EyeProlog's table-aware evaluation for Wrapper. |
|
|
6994
|
+
| `statistics/2` | `library(time)` | `statistics(+Key,?Value)` | `det` | Returns the supported runtime statistic selected by Key. |
|
|
6995
|
+
| `stream_property/2` | `ISO core` | `stream_property(?Stream,?Property)` | `nondet` | Enumerates supported properties of open streams, optionally filtering Stream or Property. |
|
|
6996
|
+
| `string_concat/3` | `library(strings)` | `string_concat(?Left,?Right,?Text)` | `nondet` | Relates Text to literal concatenation of Left and Right; with Text fixed it can enumerate splits. |
|
|
6997
|
+
| `sub_atom/5` | `ISO core` | `sub_atom(+Atom,?Before,?Length,?After,?SubAtom)` | `nondet` | Relates Atom to a substring, its Unicode-scalar offset, length, and remaining suffix length. |
|
|
6998
|
+
| `substring/4` | `library(strings)` | `substring(+Text,+Start,+Count,-Part)` | `semidet` | Extracts exactly Count characters beginning at zero-based Start from Text. |
|
|
6999
|
+
| `subsumes_term/2` | `ISO core` | `subsumes_term(+General,+Specific)` | `semidet` | Succeeds iff General subsumes Specific without binding either argument. |
|
|
7000
|
+
| `subtract/3` | `library(lists)` | `subtract(+List,+Delete,-Rest)` | `det` | Removes from List every element that unifies with some element of Delete, preserving the remaining order. |
|
|
7001
|
+
| `succ/2` | `library(iso_ext)` | `succ(?N,?S)` | `mode-dependent` | Relates nonnegative integers N and S when S is exactly N+1. |
|
|
7002
|
+
| `sum_list/2` | `library(lists)` | `sum_list(+List,-Sum)` | `det` | Evaluates and sums the numeric elements of List; the empty sum is 0. |
|
|
7003
|
+
| `sum/3` | `library(clpz)` | `sum(+Exprs,+Relation,+Expr)` | `delayed` | Constrains the sum of Exprs to stand in Relation (#=, #=<, etc.) to Expr. |
|
|
7004
|
+
| `sumall/3` | `library(aggregate)` | `sumall(+Template,+Goal,-Sum)` | `det` | Sums the numeric Template value over every solution of Goal; the empty sum is 0. |
|
|
7005
|
+
|
|
7006
|
+
##### Predicate reference — T
|
|
7007
|
+
|
|
7008
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
7009
|
+
| --- | --- | --- | --- | --- |
|
|
7010
|
+
| `take/3` | `library(lists)` | `take(+Count,+List,-Prefix)` | `semidet` | Returns exactly the first Count elements of List; fails when List is too short. |
|
|
7011
|
+
| `tasklist/2` | `library(lists)` | `tasklist(+Goal,?List1)` | `meta` | Compatibility relation applying Goal pointwise over 1 list(s); EyeProlog deliberately executes these tasks sequentially. |
|
|
7012
|
+
| `tasklist/3` | `library(lists)` | `tasklist(+Goal,?List1,?List2)` | `meta` | Compatibility relation applying Goal pointwise over 2 list(s); EyeProlog deliberately executes these tasks sequentially. |
|
|
7013
|
+
| `tasklist/4` | `library(lists)` | `tasklist(+Goal,?List1,?List2,?List3)` | `meta` | Compatibility relation applying Goal pointwise over 3 list(s); EyeProlog deliberately executes these tasks sequentially. |
|
|
7014
|
+
| `tasklist/5` | `library(lists)` | `tasklist(+Goal,?List1,?List2,?List3,?List4)` | `meta` | Compatibility relation applying Goal pointwise over 4 list(s); EyeProlog deliberately executes these tasks sequentially. |
|
|
7015
|
+
| `tasklist/6` | `library(lists)` | `tasklist(+Goal,?List1,?List2,?List3,?List4,?List5)` | `meta` | Compatibility relation applying Goal pointwise over 5 list(s); EyeProlog deliberately executes these tasks sequentially. |
|
|
7016
|
+
| `tasklist/7` | `library(lists)` | `tasklist(+Goal,?List1,?List2,?List3,?List4,?List5,?List6)` | `meta` | Compatibility relation applying Goal pointwise over 6 list(s); EyeProlog deliberately executes these tasks sequentially. |
|
|
7017
|
+
| `tasklist/8` | `library(lists)` | `tasklist(+Goal,?List1,?List2,?List3,?List4,?List5,?List6,?List7)` | `meta` | Compatibility relation applying Goal pointwise over 7 list(s); EyeProlog deliberately executes these tasks sequentially. |
|
|
7018
|
+
| `taut/2` | `library(clpb)` | `taut(+BooleanExpression,?Truth)` | `semidet` | Determines whether the Boolean expression is a tautology or contradiction and relates Truth to the result. |
|
|
7019
|
+
| `term_attributed_variables/2` | `library(atts)` | `term_attributed_variables(+Term,-Vars)` | `det` | Returns the distinct attributed variables reachable in Term. |
|
|
7020
|
+
| `term_si/1` | `library(si)` | `term_si(?Term)` | `semidet` | Succeeds iff Term is sufficiently instantiated to be treated as term by dependent constraint code. |
|
|
7021
|
+
| `term_string/2` | `library(strings)` | `term_string(+Term,-Text)` | `det` | Renders a nonvariable Term to portable atom/character-list text; this implementation does not parse Text back. |
|
|
7022
|
+
| `term_variables/2` | `ISO core` | `term_variables(+Term,?Variables)` | `det` | Returns the distinct variables of Term in first-occurrence traversal order. |
|
|
7023
|
+
| `tfilter/3` | `library(reif)` | `tfilter(+ReifiedPred,+List,-Filtered)` | `meta` | Filters List by a reified predicate whose final argument is true or false. |
|
|
7024
|
+
| `throw/1` | `ISO core` | `throw(+Ball)` | `terminal` | Raises Ball as the current Prolog exception; Ball must be instantiated. |
|
|
7025
|
+
| `time/1` | `library(iso_ext)` | `time(+Goal)` | `meta` | Runs Goal and reports elapsed time, inference count, and MLips for each solution. |
|
|
7026
|
+
| `tmember_t/3` | `library(reif)` | `tmember_t(?Item,+List,?Truth)` | `delayed` | Reifies tmember/2 membership into Truth. |
|
|
7027
|
+
| `tmember/2` | `library(reif)` | `tmember(?Item,+List)` | `nondet` | Membership relation implemented through reified disequality so duplicate/unbound cases remain declarative. |
|
|
7028
|
+
| `top_sort/2` | `library(ugraphs)` | `top_sort(+Graph,-Order)` | `semidet` | Returns a topological ordering of an acyclic directed graph; fails when a cycle prevents one. |
|
|
7029
|
+
| `top_sort/3` | `library(ugraphs)` | `top_sort(+Graph,-Order,-Rest)` | `mode-dependent` | Extended topological-sort relation returning the ordered portion and the library-defined residual/cyclic portion. |
|
|
7030
|
+
| `tpartition/4` | `library(reif)` | `tpartition(+ReifiedPred,+List,-True,-False)` | `meta` | Partitions List into elements for which ReifiedPred yields true and false, preserving order. |
|
|
7031
|
+
| `transitive_closure/2` | `library(ugraphs)` | `transitive_closure(+Graph,-Closure)` | `det` | Computes the graph whose adjacency lists contain all reachable vertices. |
|
|
7032
|
+
| `transpose_ugraph/2` | `library(ugraphs)` | `transpose_ugraph(+Graph,-Transpose)` | `det` | Reverses every directed edge of Graph. |
|
|
7033
|
+
| `transpose/2` | `library(lists)` | `transpose(+Rows,?Columns)` | `det` | Transposes a rectangular list of equal-length row lists into columns. |
|
|
7034
|
+
| `trim/2` | `library(strings)` | `trim(+Text,-Trimmed)` | `det` | Removes portable ASCII whitespace from both ends of Text. |
|
|
7035
|
+
| `true/0` | `ISO core` | `true` | `det` | Succeeds exactly once without changing the substitution. |
|
|
7036
|
+
| `tuples_in/2` | `library(clpz)` | `tuples_in(+Tuples,+RelationTuples)` | `delayed` | Constrains each tuple in Tuples to be a member of the extensional relation RelationTuples. |
|
|
7037
|
+
| `type_error/2` | `library(error)` | `type_error(+Type,+Term)` | `terminal` | Raises a type_error(Type,Term) exception. |
|
|
7038
|
+
| `type_error/3` | `library(error)` | `type_error(+Type,+Term,+Context)` | `terminal` | Raises a type_error(Type,Term) exception carrying Context. |
|
|
7039
|
+
|
|
7040
|
+
##### Predicate reference — U
|
|
7041
|
+
|
|
7042
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
7043
|
+
| --- | --- | --- | --- | --- |
|
|
7044
|
+
| `ugraph_union/3` | `library(ugraphs)` | `ugraph_union(+A,+B,-Union)` | `det` | Computes the union of two canonical directed graphs. |
|
|
7045
|
+
| `unify_with_occurs_check/2` | `ISO core` | `unify_with_occurs_check(?Left,?Right)` | `semidet` | Unifies Left and Right while rejecting bindings that would create a cyclic term. |
|
|
7046
|
+
| `union/3` | `library(lists)` | `union(+A,+B,-Union)` | `det` | Constructs the list-set union by adding elements of A not already unifiable with members of B. |
|
|
7047
|
+
| `unsetenv/1` | `library(os)` | `unsetenv(+Name)` | `det` | Removes Name from the host process environment. |
|
|
7048
|
+
| `uppercase/2` | `library(strings)` | `uppercase(+Text,-Upper)` | `det` | Maps ASCII lowercase letters in Text to uppercase while preserving other characters. |
|
|
7049
|
+
| `uuid_string/2` | `library(uuid)` | `uuid_string(?UUID,?Chars)` | `mode-dependent` | Relates a UUID byte/term representation to its canonical textual character-list form. |
|
|
7050
|
+
| `uuid/3` | `library(uuid)` | `uuid(+Seed0,-UUID,-Seed)` | `det` | Pure state-threaded generation of a version-4 UUID atom from Seed0, returning successor Seed. |
|
|
7051
|
+
| `uuidv4_string/1` | `library(uuid)` | `uuidv4_string(-Chars)` | `det` | Generates a version-4 UUID directly in canonical textual character-list form. |
|
|
7052
|
+
| `uuidv4/1` | `library(uuid)` | `uuidv4(-UUID)` | `det` | Generates a version-4 UUID byte/term representation using the current pseudo-random generator. |
|
|
7053
|
+
|
|
7054
|
+
##### Predicate reference — V
|
|
7055
|
+
|
|
7056
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
7057
|
+
| --- | --- | --- | --- | --- |
|
|
7058
|
+
| `var/1` | `ISO core` | `var(?Term)` | `semidet` | Succeeds iff Term is an unbound variable. |
|
|
7059
|
+
| `variant/2` | `library(iso_ext)` | `variant(+A,+B)` | `semidet` | Succeeds iff A and B are structurally identical up to a bijective renaming of variables. |
|
|
7060
|
+
| `vertices_edges_to_ugraph/3` | `library(ugraphs)` | `vertices_edges_to_ugraph(+Vertices,+Edges,-Graph)` | `det` | Builds the canonical ordered adjacency-list graph from Vertices and directed Edges. |
|
|
7061
|
+
| `vertices/2` | `library(ugraphs)` | `vertices(+Graph,-Vertices)` | `det` | Returns the vertices of Graph in graph order. |
|
|
7062
|
+
|
|
7063
|
+
##### Predicate reference — W
|
|
7064
|
+
|
|
7065
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
7066
|
+
| --- | --- | --- | --- | --- |
|
|
7067
|
+
| `weighted_maximum/3` | `library(clpb)` | `weighted_maximum(+Weights,+BooleanVariables,-Maximum)` | `nondet` | Finds Boolean assignments maximizing the weighted objective and returns its maximum. |
|
|
7068
|
+
| `when_si/2` | `library(si)` | `when_si(+Condition,+Goal)` | `delayed` | Runs Goal once Condition is sufficiently instantiated according to the SI condition language. |
|
|
7069
|
+
| `when/2` | `library(when)` | `when(+Condition,+Goal)` | `delayed` | Calls Goal as soon as Condition over attributed variables becomes true; otherwise suspends it. |
|
|
7070
|
+
| `working_directory/2` | `library(files)` | `working_directory(?Old,+New)` | `det` | Returns the current working directory in Old and, when New differs, changes the process working directory. |
|
|
7071
|
+
| `write_canonical/1` | `ISO core` | `write_canonical(+Term)` | `det` | Writes Term to the current output stream in canonical syntax without operator abbreviations. |
|
|
7072
|
+
| `write_canonical/2` | `ISO core` | `write_canonical(+Stream,+Term)` | `det` | Writes Term to Stream in canonical syntax without operator abbreviations. |
|
|
7073
|
+
| `write_term_to_chars/3` | `library(charsio)` | `write_term_to_chars(+Term,-Chars,+Options)` | `det` | Renders Term as a character list according to write Options. |
|
|
7074
|
+
| `write_term/2` | `ISO core` | `write_term(+Term,+Options)` | `det` | Writes Term to the current output stream according to Options. |
|
|
7075
|
+
| `write_term/3` | `ISO core` | `write_term(+Stream,+Term,+Options)` | `det` | Writes Term to Stream according to Options. |
|
|
7076
|
+
| `write/1` | `ISO core` | `write(+Term)` | `det` | Writes Term to the current output stream using ordinary operator notation. |
|
|
7077
|
+
| `write/2` | `ISO core` | `write(+Stream,+Term)` | `det` | Writes Term to Stream using ordinary operator notation. |
|
|
7078
|
+
| `writeq/1` | `ISO core` | `writeq(+Term)` | `det` | Writes Term to the current output stream with quoting sufficient for readback. |
|
|
7079
|
+
| `writeq/2` | `ISO core` | `writeq(+Stream,+Term)` | `det` | Writes Term to Stream with quoting sufficient for readback. |
|
|
7080
|
+
|
|
7081
|
+
##### Predicate reference — Z
|
|
7082
|
+
|
|
7083
|
+
| Indicator | Origin | Principal call | Solutions | Contract |
|
|
7084
|
+
| --- | --- | --- | --- | --- |
|
|
7085
|
+
| `zcompare/3` | `library(clpz)` | `zcompare(?Order,?A,?B)` | `delayed` | Relates Order (<,=,>) to the constrained integer comparison between A and B. |
|
|
7086
|
+
|
|
7087
|
+
<!-- eyeprolog-predicate-reference:end -->
|
|
7088
|
+
|
|
6437
7089
|
#### Interoperability profile and bundled-library autoloading
|
|
6438
7090
|
|
|
6439
7091
|
EyeProlog keeps four related concepts separate:
|