\(
% cbs-katex.sty
%
\newcommand{\STYLE}[2]{\htmlClass{cbs-#1}{#2}}
\newcommand{\DECL}[3]{\htmlId{#1:#2}{#3}}
\newcommand{\REF}[3]{\href{###1:#2}{#3}}
\newcommand{\HYPER}[5]{\href{#1/#2/index.html###3:#4}{#5}}
% \SHADE{MATH} can be defined to produce a shaded background to highlight
% inline MATH in running text:
\newcommand{\SHADE}[1]{#1}
% \KEY{TEXT}, \STRING{TEXT}, \ATOM{TEXT}, \LEX{TEXT} can be used in math mode:
\newcommand{\KEY}[1]{\textsf{\textit{\STYLE{Key}{#1}}}}
\newcommand{\STRING}[1]{\textsf{``\texttt{#1}''}}
\newcommand{\ATOM}[1]{\textsf{`\texttt{#1}'}}
\newcommand{\LEX}[1]{\textsf{\STYLE{Key}{`}\texttt{#1}\STYLE{Key}{'}}}
% The following commands produce ASCII characters that are treated specially by LaTeX:
\newcommand{\HASH}{\char`\#}
\newcommand{\DOLLAR}{\char`\$}
\newcommand{\PERCENT}{\char`\%}
\newcommand{\AMPERSAND}{\char`\&}
\newcommand{\APOSTROPHE}{\char`\'}
\newcommand{\BACKSLASH}{\char`\\}
\newcommand{\CARET}{\char`\^}
\newcommand{\UNDERSCORE}{\char`\_}
\newcommand{\GRAVE}{\char`\`}
\newcommand{\LEFTBRACE}{\char`\{}
\newcommand{\RIGHTBRACE}{\char`\}}
\newcommand{\TILDE}{\textasciitilde} % {\char`\~}
% \NAME{name} highlights the name;
% \NAMEDECL{name} declares Name.name as the target of links to name;
% \NAMEREF{name} links name to the target Name.name in the current file;
% \NAMEHYPER{url}{file}{name} links name to Name.name at url/file/file.pdf.
% Similarly for \VAR{partvariable}, \SYN{syntaxname}, \SEM{semanticsName},
% and \SECT{sectionnumber}
% The kerns in \SUB and \VAR avoid overlaps with primes:
\newcommand{\SUB}[1]{_{\kern-2mu\STYLE{PartVariable}{\textsf{#1}}}}
% PLAIN
\newcommand{\VAR}[1]{\STYLE{PartVariable}{\textsf{\textit{#1}\kern2mu}}}
\newcommand{\NAME}[1]{\STYLE{Name}{\textsf{#1}}}
\newcommand{\SYN}[1]{\STYLE{SyntaxName}{\textsf{#1}}}
\newcommand{\SEM}[1]{\STYLE{SemanticsName}{\textsf{#1}}}
\newcommand{\SECT}[1]{\STYLE{SectionNumber}{\textsf{#1}}}
% DECL
\newcommand{\VARDECL}[1]{\DECL{PartVariable}{#1}{\VAR{#1}}}
\newcommand{\NAMEDECL}[1]{\DECL{Name}{#1}{\NAME{#1}}}
\newcommand{\SYNDECL}[1]{\DECL{SyntaxName}{#1}{\SYN{#1}}}
\newcommand{\SEMDECL}[1]{\DECL{SemanticsName}{#1}{\SEM{#1}}}
\newcommand{\SECTDECL}[1]{\DECL{SectionNumber}{#1}{\textsf{#1}}}
% REF
\newcommand{\VARREF}[1]{\REF{PartVariable}{#1}{\VAR{#1}}}
\newcommand{\NAMEREF}[1]{\REF{Name}{#1}{\NAME{#1}}}
\newcommand{\SYNREF}[1]{\REF{SyntaxName}{#1}{\SYN{#1}}}
\newcommand{\SEMREF}[1]{\REF{SemanticsName}{#1}{\SEM{#1}}}
\newcommand{\SECTREF}[1]{\REF{SectionNumber}{#1}{\SECT{#1}}}
% HYPER
\newcommand{\VARHYPER}[3]{\HYPER{#1}{#2}{PartVariable}{#3}{\VAR{#3}}}
\newcommand{\NAMEHYPER}[3]{\HYPER{#1}{#2}{Name}{#3}{\NAME{#3}}}
\newcommand{\SYNHYPER}[3]{\HYPER{#1}{#2}{SyntaxName}{#3}{\SYN{#3}}}
\newcommand{\SEMHYPER}[3]{\HYPER{#1}{#2}{SemanticsName}{#3}{\SEM{#3}}}
\newcommand{\SECTHYPER}[3]{\HYPER{#1}{#2}{SectionNumber}{#3}{\SECT{#3}}}
% \LEFTPHRASE MATH \RIGHTPHRASE produces [[ MATH ]] with proper brackets:
\newcommand{\LEFTPHRASE}{\llbracket}
\newcommand{\RIGHTPHRASE}{\rrbracket}
% \LEFTGROUP MATH \RIGHTGROUP produces ( MATH ) where the parentheses are
% highlighted the same as keywords:
\newcommand{\LEFTGROUP}{\STYLE{Key}{(}}
\newcommand{\RIGHTGROUP}{\STYLE{Key}{)}}
% MATH\PLUS produces a superscript +
% MATH\STAR produces a superscript *
% MATH\QUERY produces a superscript ?
\newcommand{\PLUS}{{}^{\texttt{+}}}
\newcommand{\STAR}{{}^{\texttt{*}}}
\newcommand{\QUERY}{{}^{\texttt{?}}}
% \RULE{& PREMISE \\ & ...}{& FORMULA ... \\ & ...} produces an inference rule
% with separately aligned premises and conclusion
% PREMISE
% ...
% -----------
% FORMULA ...
% ...
\newcommand{\RULE}[2]
{\frac{\begin{aligned}#1\end{aligned}}{\begin{aligned}#2\end{aligned}}}
% \AXIOM{& FORMULA ... \\ & ...} produces an aligned formula
%
% FORMULA ...
% ...
\newcommand{\AXIOM}[1]{\begin{aligned}#1\end{aligned}}
% \TO TYPE produces => TYPE
\newcommand{\TO}{\mathop{\Rightarrow}}
% TERM \TRANS TERM produces TERM ---> TERM
\newcommand{\TRANS}{\longrightarrow}
% TERM \xrightarrow{LABEL} TERM puts the label above the long arrow
%
\)
Funcons-beta : Funcons-Index.cbs | PLAIN | PDF
OUTLINE
Computations
Types of computation
\[\begin{align*}
[ \
\KEY{Funcon} \quad & \NAMEHYPER{../Computations}{Computation-Types}{computation-types}
\ ]
\end{align*}\]
Normal computation
Flowing
\[\begin{align*}
[ \
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{left-to-right} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{l-to-r} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{right-to-left} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{r-to-l} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{sequential} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{seq} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{effect} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{choice} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{if-true-else} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{if-else} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{while-true} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{while} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{do-while-true} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{do-while} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{interleave} \\
\KEY{Datatype} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{yielding} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{signal} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{yielded} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{yield} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{yield-on-value} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{yield-on-abrupt} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Flowing}{atomic}
\ ]
\end{align*}\]
Giving
\[\begin{align*}
[ \
\KEY{Entity} \quad & \NAMEHYPER{../Computations/Normal}{Giving}{given-value} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Giving}{initialise-giving} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Giving}{give} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Giving}{given} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Giving}{no-given} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Giving}{left-to-right-map} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Giving}{interleave-map} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Giving}{left-to-right-repeat} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Giving}{interleave-repeat} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Giving}{left-to-right-filter} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Giving}{interleave-filter} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Giving}{fold-left} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Giving}{fold-right}
\ ]
\end{align*}\]
Binding
\[\begin{align*}
[ \
\KEY{Type} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{environments} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{envs} \\
\KEY{Datatype} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{identifiers} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{ids} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{identifier-tagged} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{id-tagged} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{fresh-identifier} \\
\KEY{Entity} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{environment} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{env} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{initialise-binding} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{bind-value} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{bind} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{unbind} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{bound-directly} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{bound-value} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{bound} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{closed} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{scope} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{accumulate} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{collateral} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{bind-recursively} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Binding}{recursive}
\ ]
\end{align*}\]
Generating
\[\begin{align*}
[ \
\KEY{Type} \quad & \NAMEHYPER{../Computations/Normal}{Generating}{atoms} \\
\KEY{Entity} \quad & \NAMEHYPER{../Computations/Normal}{Generating}{used-atom-set} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Generating}{initialise-generating} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Generating}{fresh-atom} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Generating}{use-atom-not-in}
\ ]
\end{align*}\]
Storing
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{locations} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{locs} \\
\KEY{Type} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{stores} \\
\KEY{Entity} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{store} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{initialise-storing} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{store-clear} \\
\KEY{Datatype} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{variables} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{vars} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{variable} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{var} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{allocate-variable} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{alloc} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{recycle-variables} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{recycle} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{initialise-variable} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{init} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{allocate-initialised-variable} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{alloc-init} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{assign} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{assigned} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{current-value} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{un-assign} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{structural-assign} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Storing}{structural-assigned}
\ ]
\end{align*}\]
Linking
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Computations/Normal}{Linking}{links} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Linking}{initialise-linking} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Linking}{link} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Linking}{fresh-link} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Linking}{fresh-initialised-link} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Normal}{Linking}{fresh-init-link} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Linking}{set-link} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Linking}{follow-if-link}
\ ]
\end{align*}\]
Interacting
\[\begin{align*}
[ \
\KEY{Entity} \quad & \NAMEHYPER{../Computations/Normal}{Interacting}{standard-in} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Interacting}{read}
\ ]
\end{align*}\]
Output
\[\begin{align*}
[ \
\KEY{Entity} \quad & \NAMEHYPER{../Computations/Normal}{Interacting}{standard-out} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Normal}{Interacting}{print}
\ ]
\end{align*}\]
Abnormal computation
Terminating abruptly
\[\begin{align*}
[ \
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Abrupting}{stuck} \\
\KEY{Entity} \quad & \NAMEHYPER{../Computations/Abnormal}{Abrupting}{abrupted} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Abrupting}{finalise-abrupting} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Abrupting}{abrupt} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Abrupting}{handle-abrupt} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Abrupting}{finally}
\ ]
\end{align*}\]
Failing
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Computations/Abnormal}{Failing}{failing} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Failing}{failed} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Failing}{finalise-failing} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Failing}{fail} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Failing}{else} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Failing}{else-choice} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Failing}{checked} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Failing}{check-true}
\ ]
\end{align*}\]
Throwing
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Computations/Abnormal}{Throwing}{throwing} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Throwing}{thrown} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Throwing}{finalise-throwing} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Throwing}{throw} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Throwing}{handle-thrown} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Throwing}{handle-recursively} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Throwing}{catch-else-throw}
\ ]
\end{align*}\]
Returning
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Computations/Abnormal}{Returning}{returning} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Returning}{returned} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Returning}{finalise-returning} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Returning}{return} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Returning}{handle-return}
\ ]
\end{align*}\]
Breaking
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Computations/Abnormal}{Breaking}{breaking} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Breaking}{broken} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Breaking}{finalise-breaking} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Breaking}{break} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Breaking}{handle-break}
\ ]
\end{align*}\]
Continuing
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Computations/Abnormal}{Continuing}{continuing} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Continuing}{continued} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Continuing}{finalise-continuing} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Continuing}{continue} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Continuing}{handle-continue}
\ ]
\end{align*}\]
Controlling
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Computations/Abnormal}{Controlling}{continuations} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Controlling}{continuation} \\
\KEY{Entity} \quad & \NAMEHYPER{../Computations/Abnormal}{Controlling}{plug-signal} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Controlling}{hole} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Controlling}{resume-continuation} \\
\KEY{Entity} \quad & \NAMEHYPER{../Computations/Abnormal}{Controlling}{control-signal} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Controlling}{control} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Computations/Abnormal}{Controlling}{delimit-current-continuation} \\
\KEY{Alias} \quad & \NAMEHYPER{../Computations/Abnormal}{Controlling}{delimit-cc}
\ ]
\end{align*}\]
Values
Value Types
\[\begin{align*}
[ \
\KEY{Type} \quad & \NAMEHYPER{../Values}{Value-Types}{values} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values}{Value-Types}{vals} \\
\KEY{Type} \quad & \NAMEHYPER{../Values}{Value-Types}{value-types} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values}{Value-Types}{types} \\
\KEY{Type} \quad & \NAMEHYPER{../Values}{Value-Types}{empty-type} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values}{Value-Types}{is-in-type} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values}{Value-Types}{is} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values}{Value-Types}{is-value} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values}{Value-Types}{is-val} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values}{Value-Types}{when-true} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values}{Value-Types}{when} \\
\KEY{Type} \quad & \NAMEHYPER{../Values}{Value-Types}{cast-to-type} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values}{Value-Types}{cast} \\
\KEY{Type} \quad & \NAMEHYPER{../Values}{Value-Types}{ground-values} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values}{Value-Types}{ground-vals} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values}{Value-Types}{is-equal} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values}{Value-Types}{is-eq}
\ ]
\end{align*}\]
Primitive values
Booleans
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Values/Primitive}{Booleans}{booleans} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Booleans}{bools} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Booleans}{true} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Booleans}{false} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Booleans}{not} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Booleans}{implies} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Booleans}{and} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Booleans}{or} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Booleans}{exclusive-or} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Booleans}{xor}
\ ]
\end{align*}\]
Integers
\[\begin{align*}
[ \
\KEY{Type} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{integers} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{ints} \\
\KEY{Type} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{integers-from} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{from} \\
\KEY{Type} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{integers-up-to} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{up-to} \\
\KEY{Type} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{bounded-integers} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{bounded-ints} \\
\KEY{Type} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{positive-integers} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{pos-ints} \\
\KEY{Type} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{negative-integers} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{neg-ints} \\
\KEY{Type} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{natural-numbers} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{nats} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{natural-successor} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{nat-succ} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{natural-predecessor} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{nat-pred} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{integer-add} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{int-add} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{integer-subtract} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{int-sub} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{integer-multiply} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{int-mul} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{integer-divide} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{int-div} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{integer-modulo} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{int-mod} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{integer-power} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{int-pow} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{integer-absolute-value} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{int-abs} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{integer-negate} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{int-neg} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{integer-is-less} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{is-less} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{integer-is-less-or-equal} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{is-less-or-equal} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{integer-is-greater} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{is-greater} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{integer-is-greater-or-equal} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{is-greater-or-equal} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{binary-natural} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{binary} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{octal-natural} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{octal} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{decimal-natural} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{decimal} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{hexadecimal-natural} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{hexadecimal} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Integers}{integer-sequence}
\ ]
\end{align*}\]
Floats
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-formats} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{binary32} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{binary64} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{binary128} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{decimal64} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{decimal128} \\
\KEY{Type} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{floats} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{quiet-not-a-number} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{qNaN} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{signaling-not-a-number} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{sNaN} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{positive-infinity} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{pos-inf} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{negative-infinity} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{neg-inf} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-convert} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-equal} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-is-less} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-is-less-or-equal} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-is-greater} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-is-greater-or-equal} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-negate} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-absolute-value} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-add} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-subtract} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-multiply} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-multiply-add} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-divide} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-remainder} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-sqrt} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-integer-power} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-float-power} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-round-ties-to-even} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-round-ties-to-infinity} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-floor} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-ceiling} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-truncate} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-pi} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-e} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-log} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-log10} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-exp} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-sin} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-cos} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-tan} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-asin} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-acos} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-atan} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-sinh} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-cosh} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-tanh} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-asinh} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-acosh} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-atanh} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Floats}{float-atan2}
\ ]
\end{align*}\]
Characters
\[\begin{align*}
[ \
\KEY{Type} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{characters} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{chars} \\
\KEY{Datatype} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{unicode-characters} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{unicode-chars} \\
\KEY{Type} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{unicode-points} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{unicode-character} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{unicode-char} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{unicode-point} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{unicode} \\
\KEY{Type} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{basic-multilingual-plane-characters} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{bmp-chars} \\
\KEY{Type} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{basic-multilingual-plane-points} \\
\KEY{Type} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{iso-latin-1-characters} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{latin-1-chars} \\
\KEY{Type} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{iso-latin-1-points} \\
\KEY{Type} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{ascii-characters} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{ascii-chars} \\
\KEY{Type} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{ascii-points} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{ascii-character} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{ascii-char} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{utf-8} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{utf-16} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{utf-32} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{backspace} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{horizontal-tab} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{line-feed} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{form-feed} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{carriage-return} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{double-quote} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{single-quote} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Characters}{backslash}
\ ]
\end{align*}\]
The null value
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Values/Primitive}{Null}{null-type} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Primitive}{Null}{null-value} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Primitive}{Null}{null}
\ ]
\end{align*}\]
Composite values
Sequences of values
\[\begin{align*}
[ \
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sequences}{length} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sequences}{index} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sequences}{is-in} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sequences}{first} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sequences}{second} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sequences}{third} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sequences}{first-n} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sequences}{drop-first-n} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sequences}{reverse} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sequences}{n-of} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sequences}{intersperse}
\ ]
\end{align*}\]
Datatypes
\[\begin{align*}
[ \
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Datatypes}{datatype-value} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Datatypes}{datatype-value-id} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Datatypes}{datatype-value-elements}
\ ]
\end{align*}\]
Tuples
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Values/Composite}{Tuples}{tuples} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Tuples}{tuple-elements} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Tuples}{tuple-zip}
\ ]
\end{align*}\]
Lists
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Values/Composite}{Lists}{lists} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Lists}{list} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Lists}{list-elements} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Lists}{list-nil} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Composite}{Lists}{nil} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Lists}{list-cons} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Composite}{Lists}{cons} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Lists}{list-head} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Composite}{Lists}{head} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Lists}{list-tail} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Composite}{Lists}{tail} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Lists}{list-length} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Lists}{list-append}
\ ]
\end{align*}\]
Strings
\[\begin{align*}
[ \
\KEY{Type} \quad & \NAMEHYPER{../Values/Composite}{Strings}{strings} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Strings}{string} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Strings}{string-append} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Strings}{to-string}
\ ]
\end{align*}\]
Vectors
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Values/Composite}{Vectors}{vectors} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Vectors}{vector} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Vectors}{vector-elements}
\ ]
\end{align*}\]
Bits and bit vectors
\[\begin{align*}
[ \
\KEY{Type} \quad & \NAMEHYPER{../Values/Composite}{Bits}{bits} \\
\KEY{Datatype} \quad & \NAMEHYPER{../Values/Composite}{Bits}{bit-vectors} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Bits}{bit-vector} \\
\KEY{Type} \quad & \NAMEHYPER{../Values/Composite}{Bits}{bytes} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Composite}{Bits}{octets} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Bits}{bit-vector-not} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Bits}{bit-vector-and} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Bits}{bit-vector-or} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Bits}{bit-vector-xor} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Bits}{bit-vector-shift-left} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Bits}{bit-vector-logical-shift-right} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Bits}{bit-vector-arithmetic-shift-right} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Bits}{integer-to-bit-vector} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Bits}{bit-vector-to-integer} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Bits}{bit-vector-to-natural} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Bits}{unsigned-bit-vector-maximum} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Bits}{signed-bit-vector-maximum} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Bits}{signed-bit-vector-minimum} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Bits}{is-in-signed-bit-vector} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Bits}{is-in-unsigned-bit-vector}
\ ]
\end{align*}\]
Sets
\[\begin{align*}
[ \
\KEY{Type} \quad & \NAMEHYPER{../Values/Composite}{Sets}{sets} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sets}{set} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sets}{set-elements} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sets}{is-in-set} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sets}{is-subset} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sets}{set-insert} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sets}{set-unite} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sets}{set-intersect} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sets}{set-difference} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sets}{set-size} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sets}{some-element} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Sets}{element-not-in}
\ ]
\end{align*}\]
Maps
\[\begin{align*}
[ \
\KEY{Type} \quad & \NAMEHYPER{../Values/Composite}{Maps}{maps} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Maps}{map} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Maps}{map-elements} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Maps}{map-lookup} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Composite}{Maps}{lookup} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Maps}{map-domain} \\
\KEY{Alias} \quad & \NAMEHYPER{../Values/Composite}{Maps}{dom} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Maps}{map-override} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Maps}{map-unite} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Maps}{map-delete}
\ ]
\end{align*}\]
Multisets (bags)
\[\begin{align*}
[ \
\KEY{Type} \quad & \NAMEHYPER{../Values/Composite}{Multisets}{multisets} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Multisets}{multiset} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Multisets}{multiset-elements} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Multisets}{multiset-occurrences} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Multisets}{multiset-insert} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Multisets}{multiset-delete} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Multisets}{is-submultiset}
\ ]
\end{align*}\]
Trees
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Values/Composite}{Trees}{trees} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Trees}{tree} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Trees}{tree-root-value} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Trees}{tree-branch-sequence} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Trees}{single-branching-sequence} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Trees}{forest-root-value-sequence} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Trees}{forest-branch-sequence} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Trees}{forest-value-sequence}
\ ]
\end{align*}\]
Graphs
\[\begin{align*}
[ \
\KEY{Type} \quad & \NAMEHYPER{../Values/Composite}{Graphs}{directed-graphs} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Graphs}{is-cyclic} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Graphs}{topological-sort}
\ ]
\end{align*}\]
References and pointers
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Values/Composite}{References}{references} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{References}{reference} \\
\KEY{Type} \quad & \NAMEHYPER{../Values/Composite}{References}{pointers} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{References}{dereference}
\ ]
\end{align*}\]
Records
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Values/Composite}{Records}{records} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Records}{record} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Records}{record-map} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Records}{record-select}
\ ]
\end{align*}\]
Variants
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Values/Composite}{Variants}{variants} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Variants}{variant} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Variants}{variant-id} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Variants}{variant-value}
\ ]
\end{align*}\]
Classes
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Values/Composite}{Classes}{classes} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Classes}{class} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Classes}{class-instantiator} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Classes}{class-feature-map} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Classes}{class-superclass-name-sequence} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Classes}{class-name-tree} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Classes}{is-subclass-name} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Classes}{class-name-single-inheritance-feature-map}
\ ]
\end{align*}\]
Objects
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Values/Composite}{Objects}{objects} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Objects}{object} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Objects}{object-identity} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Objects}{object-class-name} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Objects}{object-feature-map} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Objects}{object-subobject-sequence} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Objects}{object-tree} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Composite}{Objects}{object-single-inheritance-feature-map}
\ ]
\end{align*}\]
Abstraction values
Generic abstractions
\[\begin{align*}
[ \
\KEY{Type} \quad & \NAMEHYPER{../Values/Abstraction}{Generic}{abstractions} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Generic}{abstraction} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Generic}{closure} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Generic}{enact}
\ ]
\end{align*}\]
Thunks
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Values/Abstraction}{Thunks}{thunks} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Thunks}{thunk} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Thunks}{force}
\ ]
\end{align*}\]
Functions
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Values/Abstraction}{Functions}{functions} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Functions}{function} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Functions}{apply} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Functions}{supply} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Functions}{compose} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Functions}{uncurry} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Functions}{curry} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Functions}{partial-apply}
\ ]
\end{align*}\]
Patterns
\[\begin{align*}
[ \
\KEY{Datatype} \quad & \NAMEHYPER{../Values/Abstraction}{Patterns}{patterns} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Patterns}{pattern} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Patterns}{pattern-any} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Patterns}{pattern-bind} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Patterns}{pattern-type} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Patterns}{pattern-else} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Patterns}{pattern-unite} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Patterns}{match} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Patterns}{match-loosely} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Patterns}{case-match} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Patterns}{case-match-loosely} \\
\KEY{Funcon} \quad & \NAMEHYPER{../Values/Abstraction}{Patterns}{case-variant-value}
\ ]
\end{align*}\]
←
↑