- Documentation
- Reference manual
- Summary
- Predicates
- Library predicates
- library(aggregate)
- library(apply)
- library(assoc)
- library(broadcast)
- library(charsio)
- library(check)
- library(clpb)
- library(clpfd)
- library(clpqr)
- library(csv)
- library(debug)
- library(error)
- library(iostream)
- library(summaries.d/iostream/tex)
- library(lists)
- library(main)
- library(option)
- library(optparse)
- library(ordsets)
- library(persistency)
- library(predicate_options)
- library(prologpack)
- library(prologxref)
- library(pairs)
- library(pio)
- library(random)
- library(readutil)
- library(record)
- library(registry)
- library(simplex)
- library(ugraphs)
- library(url)
- library(www_browser)
- library(solution_sequences)
- library(thread_pool)
- library(varnumbers)
- library(yall)

- Arithmetic Functions
- Operators

- Summary
- Packages

- Reference manual

## F.2 Library predicates

### F.2.1 library(aggregate)

aggregate/3 | Aggregate bindings in Goal according to Template. |

aggregate/4 | Aggregate bindings in Goal according to Template. |

aggregate_all/3 | Aggregate bindings in Goal according to Template. |

aggregate_all/4 | Aggregate bindings in Goal according to Template. |

foreach/2 | True if conjunction of results is true. |

free_variables/4 | Find free variables in bagof/setof template. |

### F.2.2 library(apply)

convlist/3 | Similar to maplist/3, but elements for which call(Goal, ElemIn, _) fails are omitted from ListOut. |

exclude/3 | Filter elements for which Goal fails. |

foldl/4 | Fold a list, using arguments of the list as left argument. |

foldl/5 | Fold a list, using arguments of the list as left argument. |

foldl/6 | Fold a list, using arguments of the list as left argument. |

foldl/7 | Fold a list, using arguments of the list as left argument. |

include/3 | Filter elements for which Goal succeeds. |

maplist/2 | True if Goal can successfully be applied on all elements of List. |

maplist/3 | As maplist/2, operating on pairs of elements from two lists. |

maplist/4 | As maplist/2, operating on triples of elements from three lists. |

maplist/5 | As maplist/2, operating on quadruples of elements from four lists. |

partition/4 | Filter elements of List according to Pred. |

partition/5 | Filter List according to Pred in three sets. |

scanl/4 | Left scan of list. |

scanl/5 | Left scan of list. |

scanl/6 | Left scan of list. |

scanl/7 | Left scan of list. |

### F.2.3 library(assoc)

assoc_to_list/2 | Translate assoc into a pairs list |

assoc_to_keys/2 | Translate assoc into a key list |

assoc_to_values/2 | Translate assoc into a value list |

empty_assoc/1 | Test/create an empty assoc |

gen_assoc/3 | Non-deterministic enumeration of assoc |

get_assoc/3 | Get associated value |

get_assoc/5 | Get and replace associated value |

list_to_assoc/2 | Translate pair list to assoc |

map_assoc/2 | Test assoc values |

map_assoc/3 | Map assoc values |

max_assoc/3 | Max key-value of an assoc |

min_assoc/3 | Min key-value of an assoc |

ord_list_to_assoc/2 | Translate ordered list into an assoc |

put_assoc/4 | Add association to an assoc |

### F.2.4 library(broadcast)

broadcast/1 | Send event notification |

broadcast_request/1 | Request all agents |

listen/2 | Listen to event notifications |

listen/3 | Listen to event notifications |

unlisten/1 | Stop listening to event notifications |

unlisten/2 | Stop listening to event notifications |

unlisten/3 | Stop listening to event notifications |

listening/3 | Who is listening to event notifications? |

### F.2.5 library(charsio)

atom_to_chars/2 | Convert Atom into a list of character codes. |

atom_to_chars/3 | Convert Atom into a difference list of character codes. |

format_to_chars/3 | Use format/2 to write to a list of character codes. |

format_to_chars/4 | Use format/2 to write to a difference list of character codes. |

number_to_chars/2 | Convert Atom into a list of character codes. |

number_to_chars/3 | Convert Number into a difference list of character codes. |

open_chars_stream/2 | Open Codes as an input stream. |

read_from_chars/2 | Read Codes into Term. |

read_term_from_chars/3 | Read Codes into Term. |

with_output_to_chars/2 | Run Goal as with once/1. |

with_output_to_chars/3 | Run Goal as with once/1. |

with_output_to_chars/4 | Same as with_output_to_chars/3 using an explicit stream. |

write_to_chars/2 | Write a term to a code list. |

write_to_chars/3 | Write a term to a code list. |

### F.2.6 library(check)

check/0 | Run all consistency checks defined by checker/2. |

checker/2 | Register code validation routines. |

list_autoload/0 | Report predicates that may be auto-loaded. |

list_redefined/0 | Lists predicates that are defined in the global module =user= as well as in a normal module; that is, predicates for which the local definition overrules the global default definition. |

list_strings/0 | List strings that appear in clauses. |

list_strings/1 | List strings that appear in clauses. |

list_trivial_fails/0 | List goals that trivially fail because there is no matching clause. |

list_trivial_fails/1 | List goals that trivially fail because there is no matching clause. |

list_undefined/0 | Report undefined predicates. |

list_undefined/1 | Report undefined predicates. |

list_void_declarations/0 | List predicates that have declared attributes, but no clauses. |

string_predicate/1 | Multifile hook to disable list_strings/0 on the given predicate. |

trivial_fail_goal/1 | Multifile hook that tells list_trivial_fails/0 to accept Goal as valid. |

valid_string_goal/1 | Multifile hook that qualifies Goal as valid for list_strings/0. |

### F.2.7 library(clpb)

labeling/1 | Enumerate concrete solutions. |

random_labeling/2 | Select a single random solution. |

sat/1 | True iff Expr is a satisfiable Boolean expression. |

sat_count/2 | Count the number of admissible assignments. |

taut/2 | Tautology check. |

weighted_maximum/3 | Enumerate weighted optima over admissible assignments. |

### F.2.8 library(clpfd)

#/\/2 | P and Q hold. |

#</2 | The arithmetic expression X is less than Y. |

#<==/2 | Q implies P. |

#<==>/2 | P and Q are equivalent. |

#=/2 | The arithmetic expression X equals Y. |

#=</2 | The arithmetic expression X is less than or equal to Y. |

#==>/2 | P implies Q. |

#>/2 | Same
as Y `#<` X. |

#>=/2 | Same
as Y `#=<` X. |

#\/1 | Q does _not_ hold. |

#\/2 | Either P holds or Q holds, but not both. |

#\//2 | P or Q holds. |

#\=/2 | The arithmetic expressions X and Y evaluate to distinct integers. |

all_different/1 | Like all_distinct/1, but with weaker propagation. |

all_distinct/1 | True iff Vars are pairwise distinct. |

automaton/3 | Describes a list of finite domain variables with a finite automaton. |

automaton/8 | Describes a list of finite domain variables with a finite automaton. |

chain/2 | Zs form a chain with respect to Relation. |

circuit/1 | True iff the list Vs of finite domain variables induces a Hamiltonian circuit. |

cumulative/1 | Equivalent to cumulative(Tasks, [limit(1)]). |

cumulative/2 | Schedule with a limited resource. |

disjoint2/1 | True iff Rectangles are not overlapping. |

element/3 | The N-th element of the list of finite domain variables Vs is V. |

fd_dom/2 | Dom is the current domain (see in/2) of Var. |

fd_inf/2 | Inf is the infimum of the current domain of Var. |

fd_size/2 | Reflect the current size of a domain. |

fd_sup/2 | Sup is the supremum of the current domain of Var. |

fd_var/1 | True iff Var is a CLP(FD) variable. |

global_cardinality/2 | Global Cardinality constraint. |

global_cardinality/3 | Global Cardinality constraint. |

in/2 | Var is an element of Domain. |

indomain/1 | Bind Var to all feasible values of its domain on backtracking. |

ins/2 | The variables in the list Vars are elements of Domain. |

label/1 | Equivalent to labeling([], Vars). |

labeling/2 | Assign a value to each variable in Vars. |

lex_chain/1 | Lists are lexicographically non-decreasing. |

scalar_product/4 | True iff the scalar product of Cs and Vs is in relation Rel to Expr. |

serialized/2 | Describes a set of non-overlapping tasks. |

sum/3 | The sum of elements of the list Vars is in relation Rel to Expr. |

transpose/2 | Transpose a list of lists of the same length. |

tuples_in/2 | True iff all Tuples are elements of Relation. |

zcompare/3 | Analogous to compare/3, with finite domain variables A and B. |

### F.2.9 library(clpqr)

entailed/1 | Check if constraint is entailed |

inf/2 | Find the infimum of an expression |

sup/2 | Find the supremum of an expression |

minimize/1 | Minimizes an expression |

maximize/1 | Maximizes an expression |

bb_inf/3 | Infimum of expression for mixed-integer problems |

bb_inf/4 | Infimum of expression for mixed-integer problems |

bb_inf/5 | Infimum of expression for mixed-integer problems |

dump/3 | Dump constraints on variables |

### F.2.10 library(csv)

csv_options/2 | Compiled
is the compiled representation of the CSV processing options as they may
be passed into csv`//` 2, etc. |

csv_read_file/2 | Read a CSV file into a list of rows. |

csv_read_file/3 | Read a CSV file into a list of rows. |

csv_read_file_row/3 | True when Row is a row in File. |

csv_read_row/3 | Read the next CSV record from Stream and unify the result with Row. |

csv_write_file/2 | Write a list of Prolog terms to a CSV file. |

csv_write_file/3 | Write a list of Prolog terms to a CSV file. |

csv_write_stream/3 | Write the rows in Data to Stream. |

csv//1 | Prolog DCG to `read/write' CSV data. |

csv//2 | Prolog DCG to `read/write' CSV data. |

### F.2.11 library(debug)

assertion/1 | Acts similar to C assert() macro. |

assertion_failed/2 | This hook is called if the Goal of assertion/1 fails. |

debug/1 | Add/remove a topic from being printed. |

debug/3 | Format a message if debug topic is enabled. |

debug_message_context/1 | Specify additional context for debug messages. |

debug_print_hook/3 | Hook called by debug/3. |

debugging/1 | Examine debug topics. |

debugging/2 | Examine debug topics. |

list_debug_topics/0 | List currently known debug topics and their setting. |

nodebug/1 | Add/remove a topic from being printed. |

### F.2.12 library(error)

current_type/3 | True when Type is a currently defined type and Var satisfies Type of the body term Body succeeds. |

domain_error/2 | The argument is of the proper type, but has a value that is outside the supported values. |

existence_error/2 | Term is of the correct type and correct domain, but there is no existing (external) resource that is represented by it. |

has_type/2 | True if Term satisfies Type. |

instantiation_error/1 | An argument is under-instantiated. |

is_of_type/2 | True if Term satisfies Type. |

must_be/2 | True if Term satisfies the type constraints for Type. |

permission_error/3 | It is not allowed to perform Action on the object Term that is of the given Type. |

representation_error/1 | A representation error indicates a limitation of the implementation. |

resource_error/1 | A goal cannot be completed due to lack of resources. |

syntax_error/1 | A text has invalid syntax. |

type_error/2 | Tell the user that Term is not of the expected Type. |

uninstantiation_error/1 | An argument is over-instantiated. |

### F.2.13 library(iostream)

### F.2.14 library(summaries.d/iostream/tex)

### F.2.15 library(lists)

append/2 | Concatenate a list of lists. |

append/3 | List1AndList2 is the concatenation of List1 and List2. |

delete/3 | Delete matching elements from a list. |

flatten/2 | Is true if FlatList is a non-nested version of NestedList. |

intersection/3 | True if Set3 unifies with the intersection of Set1 and Set2. |

is_set/1 | True if Set is a proper list without duplicates. |

last/2 | Succeeds when Last is the last element of List. |

list_to_set/2 | True when Set has the same elements as List in the same order. |

max_list/2 | True if Max is the largest number in List. |

max_member/2 | True when Max is the largest member in the standard order of terms. |

member/2 | True if Elem is a member of List. |

min_list/2 | True if Min is the smallest number in List. |

min_member/2 | True when Min is the smallest member in the standard order of terms. |

nextto/3 | True if Y directly follows X in List. |

nth0/3 | True when Elem is the Index'th element of List. |

nth0/4 | Select/insert element at index. |

nth1/3 | Is true when Elem is the Index'th element of List. |

nth1/4 | As nth0/4, but counting starts at 1. |

numlist/3 | List is a list [Low, Low+1, ... High]. |

permutation/2 | True when Xs is a permutation of Ys. |

prefix/2 | True iff Part is a leading substring of Whole. |

proper_length/2 | True when Length is the number of elements in the proper list List. |

reverse/2 | Is true when the elements of List2 are in reverse order compared to List1. |

same_length/2 | Is true when List1 and List2 are lists with the same number of elements. |

select/3 | Is true when List1, with Elem removed, results in List2. |

select/4 | Select from two lists at the same positon. |

selectchk/3 | Semi-deterministic removal of first element in List that unifies with Elem. |

selectchk/4 | Semi-deterministic version of select/4. |

subset/2 | True if all elements of SubSet belong to Set as well. |

subtract/3 | Delete all elements in Delete from Set. |

sum_list/2 | Sum is the result of adding all numbers in List. |

union/3 | True if Set3 unifies with the union of Set1 and Set2. |

### F.2.16 library(main)

argv_options/3 | Generic transformation of long commandline arguments to options. |

main/0 | Call main/1 using the passed command-line arguments. |

### F.2.17 library(option)

dict_options/2 | Convert between an option list and a dictionary. |

merge_options/3 | Merge two option lists. |

meta_options/3 | Perform meta-expansion on options that are module-sensitive. |

option/2 | Get an Option from OptionList. |

option/3 | Get an Option from OptionList. |

select_option/3 | Get and remove Option from an option list. |

select_option/4 | Get and remove Option with default value. |

### F.2.18 library(optparse)

opt_arguments/3 | Extract commandline options according to a specification. |

opt_help/2 | True when Help is a help string synthesized from OptsSpec. |

opt_parse/4 | Equivalent
to opt_parse(OptsSpec, ApplArgs, Opts, PositionalArgs, `[]` ). |

opt_parse/5 | Parse the arguments Args (as list of atoms) according to OptsSpec. |

parse_type/3 | Hook to parse option text Codes to an object of type Type. |

### F.2.19 library(ordsets)

is_ordset/1 | True if Term is an ordered set. |

list_to_ord_set/2 | Transform a list into an ordered set. |

ord_add_element/3 | Insert an element into the set. |

ord_del_element/3 | Delete an element from an ordered set. |

ord_disjoint/2 | True if Set1 and Set2 have no common elements. |

ord_empty/1 | True when List is the empty ordered set. |

ord_intersect/2 | True if both ordered sets have a non-empty intersection. |

ord_intersect/3 | Intersection holds the common elements of Set1 and Set2. |

ord_intersection/2 | Intersection of a powerset. |

ord_intersection/3 | Intersection holds the common elements of Set1 and Set2. |

ord_intersection/4 | Intersection and difference between two ordered sets. |

ord_memberchk/2 | True if Element is a member of OrdSet, compared using ==. |

ord_selectchk/3 | Selectchk/3, specialised for ordered sets. |

ord_seteq/2 | True if Set1 and Set2 have the same elements. |

ord_subset/2 | Is true if all elements of Sub are in Super. |

ord_subtract/3 | Diff is the set holding all elements of InOSet that are not in NotInOSet. |

ord_symdiff/3 | Is true when Difference is the symmetric difference of Set1 and Set2. |

ord_union/2 | True if Union is the union of all elements in the superset SetOfSets. |

ord_union/3 | Union is the union of Set1 and Set2. |

ord_union/4 | True iff ord_union(Set1, Set2, Union) and ord_subtract(Set2, Set1, New). |

### F.2.20 library(persistency)

current_persistent_predicate/1 | True if PI is a predicate that provides access to the persistent database DB. |

db_attach/2 | Use File as persistent database for the calling module. |

db_attached/1 | True if the context module attached to the persistent database File. |

db_detach/0 | Detach persistency from the calling module and delete all persistent clauses from the Prolog database. |

db_sync/1 | Synchronise database with the associated file. |

db_sync_all/1 | Sync all registered databases. |

persistent/1 | Declare dynamic database terms. |

### F.2.21 library(predicate_options)

assert_predicate_options/4 | As predicate_options(:PI, +Arg, +Options). |

check_predicate_option/3 | Verify predicate options at runtime. |

check_predicate_options/0 | Analyse loaded program for erroneous options. |

current_option_arg/2 | True when Arg of PI processes predicate options. |

current_predicate_option/3 | True when Arg of PI processes Option. |

current_predicate_options/3 | True when Options is the current active option declaration for PI on Arg. |

derive_predicate_options/0 | Derive new predicate option declarations. |

derived_predicate_options/1 | Derive predicate option declarations for a module. |

derived_predicate_options/3 | Derive option arguments using static analysis. |

predicate_options/3 | Declare that the predicate PI processes options on Arg. |

retractall_predicate_options/0 | Remove all dynamically (derived) predicate options. |

### F.2.22 library(prologpack)

environment/2 | Hook to define the environment for building packs. |

pack_info/1 | Print more detailed information about Pack. |

pack_install/1 | Install a package. |

pack_install/2 | Install package Name. |

pack_list/1 | Query package server and installed packages and display results. |

pack_list_installed/0 | List currently installed packages. |

pack_property/2 | True when Property is a property of Pack. |

pack_rebuild/0 | Rebuild foreign components of all packages. |

pack_rebuild/1 | Rebuilt possible foreign components of Pack. |

pack_remove/1 | Remove the indicated package. |

pack_search/1 | Query package server and installed packages and display results. |

pack_upgrade/1 | Try to upgrade the package Pack. |

pack_url_file/2 | True if File is a unique id for the referenced pack and version. |

### F.2.23 library(prologxref)

prolog:called_by/2 | (hook)
Extend cross-referencer |

xref_built_in/1 | Examine defined built-ins |

xref_called/3 | Examine called predicates |

xref_clean/1 | Remove analysis of source |

xref_current_source/1 | Examine cross-referenced sources |

xref_defined/3 | Examine defined predicates |

xref_exported/2 | Examine exported predicates |

xref_module/2 | Module defined by source |

xref_source/1 | Cross-reference analysis of source |

### F.2.24 library(pairs)

group_pairs_by_key/2 | Group values with equivalent (==/2) consecutive keys. |

map_list_to_pairs/3 | Create a Key-Value list by mapping each element of List. |

pairs_keys/2 | Remove the values from a list of Key-Value pairs. |

pairs_keys_values/3 | True if Keys holds the keys of Pairs and Values the values. |

pairs_values/2 | Remove the keys from a list of Key-Value pairs. |

transpose_pairs/2 | Swap Key-Value to Value-Key. |

### F.2.25 library(pio)

#### F.2.25.1 library(pure_input)

phrase_from_file/2 | Process the content of File using the DCG rule Grammar. |

phrase_from_file/3 | As phrase_from_file/2, providing additional Options. |

phrase_from_stream/2 | Run Grammer against the character codes on Stream. |

stream_to_lazy_list/2 | Create a lazy list representing the character codes in Stream. |

lazy_list_character_count//1 | True when CharCount is the current character count in the Lazy list. |

lazy_list_location//1 | Determine current (error) location in a lazy list. |

syntax_error//1 | Throw the syntax error Error at the current location of the input. |

### F.2.26 library(random)

getrand/1 | Query/set the state of the random generator. |

maybe/0 | Succeed/fail with equal probability (variant of maybe/1). |

maybe/1 | Succeed with probability P, fail with probability 1-P. |

maybe/2 | Succeed with probability K/N (variant of maybe/1). |

random/1 | Binds R to a new random float in the _open_ interval (0.0,1.0). |

random/3 | Generate a random integer or float in a range. |

random_between/3 | Binds R to a random integer in [L,U] (i.e., including both L and U). |

random_member/2 | X is a random member of List. |

random_perm2/4 | Does X=A,Y=B or X=B,Y=A with equal probability. |

random_permutation/2 | Permutation is a random permutation of List. |

random_select/3 | Randomly select or insert an element. |

randseq/3 | S is a list of K unique random integers in the range 1..N. |

randset/3 | S is a sorted list of K unique random integers in the range 1..N. |

setrand/1 | Query/set the state of the random generator. |

### F.2.27 library(readutil)

read_line_to_codes/2 | Read line from a stream |

read_line_to_codes/3 | Read line from a stream |

read_stream_to_codes/2 | Read contents of stream |

read_stream_to_codes/3 | Read contents of stream |

read_file_to_codes/3 | Read contents of file |

read_file_to_terms/3 | Read contents of file to Prolog terms |

### F.2.28 library(record)

record/1 | Define named fields in a term |

### F.2.29 library(registry)

This library is only available on Windows systems.

registry_get_key/2 | Get principal value of key |

registry_get_key/3 | Get associated value of key |

registry_set_key/2 | Set principal value of key |

registry_set_key/3 | Set associated value of key |

registry_delete_key/1 | Remove a key |

shell_register_file_type/4 | Register a file-type |

shell_register_dde/6 | Register DDE action |

shell_register_prolog/1 | Register Prolog |

### F.2.30 library(simplex)

assignment/2 | Solve assignment problem |

constraint/3 | Add linear constraint to state |

constraint/4 | Add named linear constraint to state |

constraint_add/4 | Extend a named constraint |

gen_state/1 | Create empty linear program |

maximize/3 | Maximize objective function in to linear constraints |

minimize/3 | Minimize objective function in to linear constraints |

objective/2 | Fetch value of objective function |

shadow_price/3 | Fetch shadow price in solved state |

transportation/4 | Solve transportation problem |

variable_value/3 | Fetch value of variable in solved state |

### F.2.31 library(ugraphs)

vertices_edges_to_ugraph/3 | Create unweighted graph |

vertices/2 | Find vertices in graph |

edges/2 | Find edges in graph |

add_vertices/3 | Add vertices to graph |

del_vertices/3 | Delete vertices from graph |

add_edges/3 | Add edges to graph |

del_edges/3 | Delete edges from graph |

transpose_ugraph/2 | Invert the direction of all edges |

neighbors/3 | Find neighbors of vertice |

neighbours/3 | Find neighbors of vertice |

complement/2 | Inverse presense of edges |

compose/3 | |

top_sort/2 | Sort graph topologically |

top_sort/3 | Sort graph topologically |

transitive_closure/2 | Create transitive closure of graph |

reachable/3 | Find all reachable vertices |

ugraph_union/3 | Union of two graphs |

### F.2.32 library(url)

file_name_to_url/2 | Translate
between a filename and a file:`//` URL. |

global_url/3 | Translate a possibly relative URL into an absolute one. |

http_location/2 | Construct or analyze an HTTP location. |

is_absolute_url/1 | True if URL is an absolute URL. |

parse_url/2 | Construct or analyse a URL. |

parse_url/3 | Similar to parse_url/2 for relative URLs. |

parse_url_search/2 | Construct or analyze an HTTP search specification. |

set_url_encoding/2 | Query and set the encoding for URLs. |

url_iri/2 | Convert between a URL, encoding in US-ASCII and an IRI. |

www_form_encode/2 | En/decode to/from application/x-www-form-encoded. |

### F.2.33 library(www_browser)

www_open_url/1 | Open a web-page in a browser |

### F.2.34 library(solution_sequences)

distinct/1 | True if Goal is true and no previous solution of Goal bound Witness to the same value. |

distinct/2 | True if Goal is true and no previous solution of Goal bound Witness to the same value. |

group_by/4 | Group bindings of Template that have the same value for By. |

limit/2 | Limit the number of solutions. |

offset/2 | Ignore the first Count solutions. |

order_by/2 | Order solutions according to Spec. |

reduced/1 | Similar to distinct/1, but does not guarantee unique results in return for using a limited amount of memory. |

reduced/3 | Similar to distinct/1, but does not guarantee unique results in return for using a limited amount of memory. |

### F.2.35 library(thread_pool)

create_pool/1 | Hook to create a thread pool lazily. |

current_thread_pool/1 | True if Name refers to a defined thread pool. |

thread_create_in_pool/4 | Create a thread in Pool. |

thread_pool_create/3 | Create a pool of threads. |

thread_pool_destroy/1 | Destroy the thread pool named Name. |

thread_pool_property/2 | True if Property is a property of thread pool Name. |

### F.2.36 library(varnumbers)

max_var_number/3 | True when Max is the max of Start and the highest numbered $VAR(N) term. |

numbervars/1 | Number variables in Term using $VAR(N). |

varnumbers/2 | Inverse of numbervars/1. |

varnumbers/3 | Inverse of numbervars/3. |

varnumbers_names/3 | If Term is a term with numbered and named variables using the reserved term '$VAR'(X), Copy is a copy of Term where each '$VAR'(X) is consistently replaced by a fresh variable and Bindings is a list `X = Var`, relating the `X` terms with the variable it is mapped to. |

### F.2.37 library(yall)

//2 | Shorthand
for `Free/[]`>>` Lambda`. |

//3 | Shorthand
for `Free/[]`>>` Lambda`. |

//4 | Shorthand
for `Free/[]`>>` Lambda`. |

//5 | Shorthand
for `Free/[]`>>` Lambda`. |

//6 | Shorthand
for `Free/[]`>>` Lambda`. |

//7 | Shorthand
for `Free/[]`>>` Lambda`. |

//8 | Shorthand
for `Free/[]`>>` Lambda`. |

//9 | Shorthand
for `Free/[]`>>` Lambda`. |

>>/2 | Calls a copy of Lambda. |

>>/3 | Calls a copy of Lambda. |

>>/4 | Calls a copy of Lambda. |

>>/5 | Calls a copy of Lambda. |

>>/6 | Calls a copy of Lambda. |

>>/7 | Calls a copy of Lambda. |

>>/8 | Calls a copy of Lambda. |

>>/9 | Calls a copy of Lambda. |

is_lambda/1 | True if Term is a valid Lambda expression. |

lambda_calls/2 | Goal is the goal called if call/N is applied to LambdaExpression, where ExtraArgs are the additional arguments to call/N. |

lambda_calls/3 | Goal is the goal called if call/N is applied to LambdaExpression, where ExtraArgs are the additional arguments to call/N. |