on master help sign in
Merge remote-tracking branch 'origin/master' into david-draft
97b21acDavid Kerschner
concepts/galaxies-stars-and-planets.md+1−1
@@ -7,7 +7,7 @@ description = "An explanation of the Urbit address-space hierarchy. "
7
7
8The current internet has no consistent system of identity. There are only quasi-identities such as IP addresses, Google accounts and email addresses, each able to be assumed and abandoned without much trouble. The result is a hostile social experience, since bad actors -- spammers, scammers, malware-spreaders, and harassers -- have an inexhaustible supply of places to hide.
8The current internet has no consistent system of identity. There are only quasi-identities such as IP addresses, Google accounts and email addresses, each able to be assumed and abandoned without much trouble. The result is a hostile social experience, since bad actors -- spammers, scammers, malware-spreaders, and harassers -- have an inexhaustible supply of places to hide.
9
9
10−That's why we built a system for persistent identity called [Azimuth](./docs/concepts/azimuth.md). Azimuth identities are called _points_, and you need one to use the Arvo network. Points are secure, since they are owned and controlled with key-pair the Ethereum blockchain, which Azimuth is built on top of.
10+That's why we built a system for persistent identity called [Azimuth](@/docs/concepts/azimuth.md). Azimuth identities are called _points_, and you need one to use the Arvo network. Points are secure, since they are owned and controlled with key-pair the Ethereum blockchain, which Azimuth is built on top of.
11
11
12An Azimuth point is a pronounceable string like `~firbyr-napbes`. It means nothing, but it's easy to remember and say out loud. `~firbyr-napbes` is actually just a 32-bit number (`3.237.967.392`, to be exact) that we turn into a human-memorable string.
12An Azimuth point is a pronounceable string like `~firbyr-napbes`. It means nothing, but it's easy to remember and say out loud. `~firbyr-napbes` is actually just a 32-bit number (`3.237.967.392`, to be exact) that we turn into a human-memorable string.
13
13
concepts/technical-overview.md+1−1
@@ -110,7 +110,7 @@ about 3000 lines of Hoon.
110### Nock
110### Nock
111
111
112Nock is a low-level [homoiconic](https://en.wikipedia.org/wiki/Homoiconicity)
112Nock is a low-level [homoiconic](https://en.wikipedia.org/wiki/Homoiconicity)
113−combinator language. It's so simple that its [specification](./docs/learn/nock/definition.md)
113+combinator language. It's so simple that its [specification](@/docs/learn/nock/definition.md)
114fits on a t-shirt. In some ways Nock resembles a nano-Lisp but its ambitions
114fits on a t-shirt. In some ways Nock resembles a nano-Lisp but its ambitions
115are more narrow. Most Lisps are one-layer: a practical language is to be
115are more narrow. Most Lisps are one-layer: a practical language is to be
116created by extending a theoretically simple interpreter. The abstraction is
116created by extending a theoretically simple interpreter. The abstraction is
getting-started/_index.md+4−4
@@ -7,17 +7,17 @@ template = "sections/docs/chapters.html"
7
7
8Welcome to Urbit, a personal server. Urbit isn't ready for serious use yet, but it's available to try out. If you have an Azimuth point, you can follow this step-by-step guide to get your point's _keyfile_, which you need to boot your ship. Then you can install Urbit and join the community.
8Welcome to Urbit, a personal server. Urbit isn't ready for serious use yet, but it's available to try out. If you have an Azimuth point, you can follow this step-by-step guide to get your point's _keyfile_, which you need to boot your ship. Then you can install Urbit and join the community.
9
9
10−If you don't have an Azimuth point, you can always [create a comet](./docs/using/creating-a-comet.md) to join the network before committing to a point, or [create a development ship](./docs/using/creating-a-development-ship.md) and start using Urbit offline first.
10+If you don't have an Azimuth point, you can always [create a comet](@/docs/using/creating-a-comet.md) to join the network before committing to a point, or [create a development ship](@/docs/using/creating-a-development-ship.md) and start using Urbit offline first.
11
11
12−### [Step 1: Using Bridge](./docs/getting-started/using-bridge.md)
12+### [Step 1: Using Bridge](@/docs/getting-started/using-bridge.md)
13
13
14In order to join the Urbit network, you need an Azimuth point, which acts like an identity and a password for your Urbit ship. Bridge is our client for managing Azimuth points, and lets you get your keyfile and claim the point.
14In order to join the Urbit network, you need an Azimuth point, which acts like an identity and a password for your Urbit ship. Bridge is our client for managing Azimuth points, and lets you get your keyfile and claim the point.
15
15
16−### [Step 2: Installing Urbit](./docs/getting-started/installing-urbit.md)
16+### [Step 2: Installing Urbit](@/docs/getting-started/installing-urbit.md)
17
17
18The Urbit software is a command-line application that runs the Arvo operating system. This guide walks you through the installation process.
18The Urbit software is a command-line application that runs the Arvo operating system. This guide walks you through the installation process.
19
19
20−### [Step 3: Booting a Ship](./docs/getting-started/booting-a-ship.md)
20+### [Step 3: Booting a Ship](@/docs/getting-started/booting-a-ship.md)
21
21
22This guide teaches you how to get your ship operational and onto the Arvo network.
22This guide teaches you how to get your ship operational and onto the Arvo network.
23
23
getting-started/booting-a-ship.md+2−2
@@ -3,9 +3,9 @@ title = "Booting a Ship"
3weight = 3
3weight = 3
4template = "doc.html"
4template = "doc.html"
5+++
5+++
6−Now the rubber meets the road. You'll be booting your ship with the keyfile that you [downloaded from Bridge](./docs/concepts/azimuth.md).
6+Now the rubber meets the road. You'll be booting your ship with the keyfile that you [downloaded from Bridge](@/docs/concepts/azimuth.md).
7
7
8−Note that this document is only for booting a ship that uses the live Arvo network. If you just want to create an unnetworked ship for development purposes, read [this guide](./docs/using/creating-a-development-ship.md) instead.
8+Note that this document is only for booting a ship that uses the live Arvo network. If you just want to create an unnetworked ship for development purposes, read [this guide](@/docs/using/creating-a-development-ship.md) instead.
9
9
10## Step 1: Find Your Point's Name
10## Step 1: Find Your Point's Name
11
11
getting-started/contributing.md+9−61
@@ -4,70 +4,18 @@ weight = 5
4template = "doc.html"
4template = "doc.html"
5description = "A guide to getting involved with the Urbit project."
5description = "A guide to getting involved with the Urbit project."
6+++
6+++
7−We accept submissions for improving our [code](https://github.com/urbit/urbit/) and [documentation](https://github.com/urbit/docs/) alike.
8
7
9−If you're interested in contributing, but don't know where to start, feel free to [send us an email](mailto:support@urbit.org).
8+We welcome submissions for improving our [code](https://github.com/urbit/urbit/) and [documentation](https://github.com/urbit/docs/) alike. If you're looking to get involved, there are a few things you can do to get started right away:
10
9
11−## Code guidelines
10+- Join the [urbit-dev](https://groups.google.com/a/urbit.org/forum/#!forum/dev) mailing list
11+- [Apply to Hoon School](https://urbit.org/hoonschool/). We run a beginner course and an advanced course to teach the Hoon programming language and Urbit application development. Both courses are free, online, and asynchronous.
12+- Check out the "good contributor issues" tag in the [urbit](https://github.com/urbit/urbit/labels/good%20contributor%20issue) and [arvo](https://github.com/urbit/arvo/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+contributor+issue%22) Github repositories.
13+- Reach out to [support@urbit.org](mailto:support@urbit.org) to say hi and ask any questions you might have. We're always happy to try to point you in the right direction.
12
14
13−Our official guide to contributing can be found [here](https://github.com/urbit/urbit/blob/master/CONTRIBUTING.md), which is most useful for large and low-level changes.
15+Many contributors start by contributing to the [documentation](https://github.com/urbit/docs), [urbit.org](https://github.com/urbit/urbit.org), or [bridge](https://github.com/urbit/bridge) repositories. If you're not yet comfortable with Hoon, we recommend starting there.
14
16
15−Before contributing code, you should familiarize yourself with the [Hoon style guide](./docs/learn/hoon/style.md). For a good example of preferred Hoon coding style, see [ford.hoon](https://github.com/urbit/arvo/blob/master/sys/vane/ford.hoon).
17+If you're just getting set up to work on the Urbit or Arvo code base for the first time, see our [Getting Started](@/docs/getting-started/_index.md) guide, then have a look at [CONTRIBUTING.md](https://github.com/urbit/urbit/blob/master/CONTRIBUTING.md) in the Urbit repository.
16
18
17−## Community Guidelines
19+## Code style
18
20
19−Urbit is both code and community. We have guidelines for the former, and we also have guidelines for the latter.
21+Before contributing Hoon code, you should familiarize yourself with the [Hoon style guide](@/docs/learn/hoon/style.md). For a good example of idiomatic Hoon, see [Ford](https://github.com/urbit/arvo/blob/master/sys/vane/ford.hoon).
20−
21−### Jurisdiction
22−
23−Urbit is a decentralized system, both technically and in spirit. This means that no one, Tlon Corp. or otherwise, has the technical ability to police the entire network. But we do admit that moderation is necessary; we just think that it’s not strictly a technical problem.
24−
25−What we can do, and what we propose to do in this document, is define how we plan on moderating our little, but important, corner of Urbit. We define the limits of our jurisdiction as the general-purpose discussion channel `~dopzod/urbit-help`, our forum, `fora` and, adjacently, the GitHub issues on any of the [official urbit repos](https://github.com/urbit).
26−
27−Our hope is that the system established here can serve as a model for other corners of Urbit. But it bears repeating: **Tlon is technically incapable of moderating the Urbit network in general**.
28−
29−### Use of these guidelines
30−
31−The goal of these guidelines is to provide clear principles which can be used by moderators for the resolution of disputes in this jurisdiction. The hope is that, by knowing the guidelines that will be cited in case of a dispute, users can have clear expectations of how to comport themselves and how a judgement will be made. The ideal is that, right before pressing "Submit" on an inflammatory Fora post, the errant Urbiter will pause and remember the following mandates.
32−
33−### The Pentalogue
34−
35−#### 1. Stay on topic
36−
37−Conflicts about the work, about building Urbit, are good conflicts. Conflicts about haircuts, politics or sports are not productive and are best conducted in a DM or a private circle.
38−
39−#### 2. Treat everyone like a person
40−
41−All of us have pre-loaded talking points against our preferred ideological and intellectual opponents. Unleashing them prematurely often impedes communication and sours otherwise productive dialogue. It is also not nice. So, instead of treating a human being as merely an avatar for an idea, treat them like a person.
42−
43−“Treating someone like a person” means responding to what people actually say, instead of what you think such a person would say.
44−
45−Before responding to something that seems objectionable, make sure that the other party is actually saying what you think they’re saying. Ask questions and be nice.
46−
47−#### 3. Skin in the game
48−
49−No one likes comments like "this sux" in a thread of otherwise serious commentary. If other people have something to lose (even if it’s just face), be respectful. And, ideally, put some skin in the game yourself.
50−
51−In general, establish yourself in a conversation or a subject area before you start attacking anyone. Better yet: don't attack anyone.
52−
53−#### 4. Assume good faith
54−
55−If anyone has gone through the trouble of booting a ship, submitting an issue, learning Hoon, reading through our docs or otherwise shown themselves committed to our wild-eyed vision, they are to be assumed to be a friend.
56−
57−If you can choose to interpret a statement as a sneaky slight or a clumsy compliment, choose the latter.
58−
59−#### 5. Respect the mods
60−
61−We believe that all good governance terminates in a human relationship, and that moderators fulfill that role. All moderators will be forced to make judgments not covered by this document, and that will doubtless make some unhappy; maybe even you. Please respect the fact that someone took this responsibility on for the greater good.
62−
63−The flipside of this is that moderators are expected to act in accordance with the dignity of that office. Abuse of power will not be tolerated.
64−
65−### Adjudication
66−
67−The body responsible for the hearing of and ruling on claims is the Council, composed of moderators. Moderators are to serve for a term of one year.
68−
69−Any planet-holder on the network dissatisfied with the behavior of another planet-holder must first send a complaint to the Council with a link to the offending message or document.
70−
71−The case will be assigned a moderator at random, who will decide the matter. The finding will include a punishment which can range from censure to temporary or permanent blacklisting.
72−
73−If one of the parties in the case would like to file an appeal, the case can be heard and ruled on by the entire Council. All proceedings of the Council are public and all past behavior in the jurisdiction can be considered in the Councils’ decision.
getting-started/installing-urbit.md+14−158
@@ -19,185 +19,41 @@ Urbit: a personal server operating function
19
19
20## Instructions
20## Instructions
21
21
22−### MacOS
22+### macOS (Darwin)
23
23
24−We recommend using the Homebrew package manager to run Arvo on MacOS.
24+We provide static binaries for macOS. You can grab the latest stable release as follows:
25
25
26```
26```
27−# Bash
27+curl -O https://bootstrap.urbit.org/urbit-darwin-v0.8.0.tgz
28−
28+tar xzf urbit-darwin-v0.8.0.tgz
29−brew update
29+./urbit
30−brew install -v gcc git gmp libsigsegv libtool meson ninja pkg-config openssl
31−git clone https://github.com/urbit/urbit
32−cd urbit
33−./scripts/bootstrap
34−./scripts/build
35−sudo ninja -C ./build/ meson-install
36−urbit
37−```
38−
39−### Ubuntu or Debian
40−
41−```
42−# Bash
43−
44−sudo apt-get update
45−sudo apt-get install g++ git libcurl4-gnutls-dev libgmp3-dev libncurses5-dev libsigsegv-dev libssl-dev make openssl pkg-config python python3 python3-pip python3-setuptools zlib1g-dev ninja-build
46−sudo -H pip3 install --upgrade pip
47−sudo -H pip3 install meson
48−
49−git clone https://github.com/urbit/urbit
50−cd urbit
51−./scripts/bootstrap
52−./scripts/build
53−sudo ninja -C ./build/ install
54−urbit
55−```
56−
57−To access your Urbit via HTTP on port 80, you may need to run the following:
58−
59−```
60−sudo apt-get install libcap2-bin
61−sudo setcap 'cap_net_bind_service=+ep' $(which urbit)
62−```
63−
64−### Fedora 23 or earlier
65−
66−```
67−# Bash
68−
69−sudo yum upgrade
70−sudo yum install autoconf automake cmake ctags gcc gcc-c++ git gmp-devel libcurl-devel libsigsegv-devel libtool ncurses-devel ninja-build openssl openssl-devel pkgconfig python3 re2c wget
71−
72−# meson requires python 3.5; RHEL supplies wrong version
73−pushd /usr/src
74− sudo wget https://www.python.org/ftp/python/3.5.5/Python-3.5.5.tgz
75− sudo tar xzf Python-3.5.5.tgz
76− cd Python-3.5.5
77− sudo ./configure --enable--optimizations
78− sudo make altinstall
79− which python3.5
80− cd /usr/local/bin
81− sudo ln -s python3.5 python3
82− hash python3
83−popd
84−
85−curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
86−sudo /usr/local/bin/python3 get-pip.py
87−# downgrade meson to avoid dependencies that redhat can't meet
88−sudo -H /usr/local/bin/pip3 install meson
89−
90−
91−git clone git://github.com/ninja-build/ninja.git && cd ninja
92−git checkout release
93−./configure.py --bootstrap
94−sudo cp ./ninja /usr/local/bin
95−
96−git clone https://github.com/urbit/urbit
97−cd urbit
98−./scripts/bootstrap
99−./scripts/build
100−sudo /usr/local/bin/ninja -C ./build/ install
101−urbit
102−```
103−
104−### Fedora 24 or later
105−
106```
30```
107−# Bash
108
31
109−sudo dnf upgrade
32+### Linux (64-bit)
110−sudo dnf install autoconf automake cmake ctags gcc gcc-c++ git gmp-devel libcurl-devel libsigsegv-devel libtool ncurses-devel meson ninja-build openssl openssl-devel pkgconfig python3 re2c wget
111
33
112−git clone https://github.com/urbit/urbit
34+We also provide static binaries for 64-bit Linux distributions (Ubuntu, Debian, Fedora, Arch, etc.). You can get the latest stable release similarly:
113−cd urbit
114−./scripts/bootstrap
115−./scripts/build
116−sudo ninja -C ./build/ install
117−urbit
118−```
119−
120−### Arch Linux
121
35
122```
36```
123−# Bash
37+curl -O https://bootstrap.urbit.org/urbit-linux64-v0.8.0.tgz
124−
38+tar xzf urbit-linux64-v0.8.0.tgz
125−sudo pacman -Syyu
126−sudo pacman -S --needed curl gcc git gmp libsigsegv ncurses ninja openssl python python-pip meson
127−git clone https://github.com/urbit/urbit
128−cd urbit
129−./scripts/bootstrap
130−./scripts/build
131−cd build
132−ninja
133−sudo ninja meson-install
134−urbit
39+./urbit
135```
40```
136
41
137−### FreeBSD
42+### Other
138
43
139−```
44+We maintain a [Nix](https://nixos.org/nix) derivation for Urbit in [nixpkgs](https://github.com/NixOS/nixpkgs). You can install and launch it like so:
140−# Bash or Sh
141−
142−pkg upgrade
143−sudo pkg install curl gcc git gmake gmp libsigsegv python python3 ncurses openssl gmp
144−curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
145−sudo python3 get-pip.py
146−sudo -H pip install --upgrade pip
147−sudo -H pip install meson
148−sudo pkg install ninja
149−git clone https://github.com/urbit/urbit
150−cd urbit
151−sh ./scripts/bootstrap
152−sh ./scripts/build
153−sudo ninja -C ./build/ meson-install
154−urbit
155−```
156−
157−### Amazon Web Services
158
45
159```
46```
160−# Bash
161−
162−sudo yum update
163−sudo yum install gcc gcc-c++ git gmp-devel libcurl-devel libsigsegv-devel ncurses-devel openssl openssl-devel pkgconfig python3 python3-pip wget git
164−sudo env "PATH=$PATH" pip3 install --upgrade pip
165−sudo env "PATH=$PATH" pip3 install meson
166−
167−
168−# we need libsigsegv
169−#
170−
171−wget https://dl.fedoraproject.org/pub/fedora/linux/releases/30/Everything/x86_64/os/Packages/l/libsigsegv-2.11-7.fc30.x86_64.rpm
172−wget https://dl.fedoraproject.org/pub/fedora/linux/releases/30/Everything/x86_64/os/Packages/l/libsigsegv-devel-2.11-7.fc30.x86_64.rpm
173−sudo yum localinstall libsigsegv-2.11-7.fc30.x86_64.rpm
174−sudo yum localinstall libsigsegv-devel-2.11-7.fc30.x86_64.rpm
175−
176−git clone git://github.com/ninja-build/ninja.git
177−pushd ninja
178− git checkout release
179− ./configure.py --bootstrap
180− sudo cp ./ninja /usr/local/bin
181−popd
182−
183−
184−git clone https://github.com/urbit/urbit
185−cd urbit
47+nix-env -i urbit
186−./scripts/bootstrap
187−./scripts/build
188−sudo env "PATH=$PATH" ninja -C ./build/ install
189−
190urbit
48urbit
191```
49```
192
50
193## Booting a Ship
51## Booting a Ship
194
52
195−One you've completed your installation, you can continue on to the instructions for [booting your ship](./docs/getting-started/booting-a-ship.md) to get on the Arvo network.
53+One you've completed your installation, you can continue on to the instructions for [booting your ship](@/docs/getting-started/booting-a-ship.md) to get on the Arvo network.
196
54
197Or, if you want to try testing and writing code, check out the guide to [getting an unnetworked development ship](/docs/using/creating-a-development-ship).
55Or, if you want to try testing and writing code, check out the guide to [getting an unnetworked development ship](/docs/using/creating-a-development-ship).
198
56
199−
200−
201## Set Up Swap
57## Set Up Swap
202
58
203If you're running Urbit in the cloud on a small instance, you may need to additionally configure swap space. If you're not, you can safely ignore this section.
59If you're running Urbit in the cloud on a small instance, you may need to additionally configure swap space. If you're not, you can safely ignore this section.
getting-started/using-bridge.md+2−2
@@ -4,7 +4,7 @@ weight = 1
4template = "doc.html"
4template = "doc.html"
5+++
5+++
6
6
7−[Bridge](https://github.com/urbit/bridge) is the client we built for interacting with [Azimuth](./docs/concepts/azimuth.md), the Urbit PKI, and managing your Azimuth identities, called _points_. Importantly, Bridge also allows you to generate a keyfile that you will need to boot your ship so that it can use the Arvo network.
7+[Bridge](https://github.com/urbit/bridge) is the client we built for interacting with [Azimuth](@/docs/concepts/azimuth.md), the Urbit PKI, and managing your Azimuth identities, called _points_. Importantly, Bridge also allows you to generate a keyfile that you will need to boot your ship so that it can use the Arvo network.
8
8
9This guide assumes that you own an Azimuth point, or that you have found someone to send an Azimuth point to your Ethereum address and are looking to claim it.
9This guide assumes that you own an Azimuth point, or that you have found someone to send an Azimuth point to your Ethereum address and are looking to claim it.
10
10
@@ -59,4 +59,4 @@ From the detail page associated with your point, click the `Generate Arvo Keyfil
59
59
60Click `Generate ->`, which will download a keyfile onto your machine.
60Click `Generate ->`, which will download a keyfile onto your machine.
61
61
62−With that keyfile in hand, you can now exit Bridge, and continue to the guide to [installing Arvo](./docs/getting-started/installing-urbit.md).
62+With that keyfile in hand, you can now exit Bridge, and continue to the guide to [installing Arvo](@/docs/getting-started/installing-urbit.md).
learn/_index.md+5−5
@@ -6,21 +6,21 @@ template = "sections/docs/chapters.html"
6+++
6+++
7Tutorials and explanations for all the components of Urbit.
7Tutorials and explanations for all the components of Urbit.
8
8
9−## [Arvo](./docs/learn/arvo/_index.md)
9+## [Arvo](@/docs/learn/arvo/_index.md)
10
10
11Arvo is a clean-slate system software stack defined as a deterministic computer. An encrypted P2P network, %ames, runs on a functional operating system, Arvo, written in a strict, typed functional language, Hoon, which compiles itself to a combinator interpreter, Nock, whose spec gzips to 340 bytes.
11Arvo is a clean-slate system software stack defined as a deterministic computer. An encrypted P2P network, %ames, runs on a functional operating system, Arvo, written in a strict, typed functional language, Hoon, which compiles itself to a combinator interpreter, Nock, whose spec gzips to 340 bytes.
12
12
13−## [Hoon](./docs/learn/hoon/_index.md)
13+## [Hoon](@/docs/learn/hoon/_index.md)
14
14
15Hoon is a high-level, statically typed, functional programming language, custom-designed for use with Urbit. For a functional language it has a surprisingly imperative style, and mastering it doesn't require knowing any advanced mathematics.
15Hoon is a high-level, statically typed, functional programming language, custom-designed for use with Urbit. For a functional language it has a surprisingly imperative style, and mastering it doesn't require knowing any advanced mathematics.
16
16
17−The [Hoon Tutorial](./docs/learn/hoon/hoon-tutorial/_index.md) is the best place to start if you want to learn Urbit.
17+The [Hoon Tutorial](@/docs/learn/hoon/hoon-tutorial/_index.md) is the best place to start if you want to learn Urbit.
18
18
19−## [Nock](./docs/learn/nock/_index.md)
19+## [Nock](@/docs/learn/nock/_index.md)
20
20
21Nock is the low-level functional programming language that is interpreted by Vere. You don't need to know Nock to write Hoon, or even to work on most parts of Vere. But if you want to understand the foundations of Urbit and are mathematically-inclined, dive right in.
21Nock is the low-level functional programming language that is interpreted by Vere. You don't need to know Nock to write Hoon, or even to work on most parts of Vere. But if you want to understand the foundations of Urbit and are mathematically-inclined, dive right in.
22
22
23−## [Vere](./docs/learn/vere/_index.md)
23+## [Vere](@/docs/learn/vere/_index.md)
24
24
25The Nock runtime system, written in C.
25The Nock runtime system, written in C.
26
26
learn/arvo/_index.md+9−9
@@ -4,37 +4,37 @@ weight = 1
4sort_by = "weight"
4sort_by = "weight"
5template = "sections/docs/chapters.html"
5template = "sections/docs/chapters.html"
6+++
6+++
7−Arvo is Urbit's functional operating system, written in [Hoon](./docs/learn/hoon/_index.md). It's composed of modules called _vanes_:
7+Arvo is Urbit's functional operating system, written in [Hoon](@/docs/learn/hoon/_index.md). It's composed of modules called _vanes_:
8
8
9−## [Ames](./docs/learn/arvo/ames.md)
9+## [Ames](@/docs/learn/arvo/ames.md)
10
10
11Ames is the name of our network and the vane that communicates over it. It's an encrypted P2P network composed of instances of the Arvo operating system.
11Ames is the name of our network and the vane that communicates over it. It's an encrypted P2P network composed of instances of the Arvo operating system.
12
12
13−## [Behn](./docs/learn/arvo/behn.md)
13+## [Behn](@/docs/learn/arvo/behn.md)
14
14
15Behn is our timer. It allows vanes and applications to set and timer events, which are managed in a simple priority queue.
15Behn is our timer. It allows vanes and applications to set and timer events, which are managed in a simple priority queue.
16
16
17−## [Clay](./docs/learn/arvo/clay.md)
17+## [Clay](@/docs/learn/arvo/clay.md)
18
18
19Clay is our filesystem and revision-control system.
19Clay is our filesystem and revision-control system.
20
20
21−## [Dill](./docs/learn/arvo/dill.md)
21+## [Dill](@/docs/learn/arvo/dill.md)
22
22
23Dill is our terminal driver. Unix sends keyboard events to dill from the terminal, and dill produces terminal output.
23Dill is our terminal driver. Unix sends keyboard events to dill from the terminal, and dill produces terminal output.
24
24
25−## [Eyre](./docs/learn/arvo/eyre.md)
25+## [Eyre](@/docs/learn/arvo/eyre.md)
26
26
27Eyre is our HTTP server. Unix sends HTTP messages to `%eyre`, and `%eyre` produces HTTP messages in response.
27Eyre is our HTTP server. Unix sends HTTP messages to `%eyre`, and `%eyre` produces HTTP messages in response.
28
28
29−## [Ford](./docs/learn/arvo/ford.md)
29+## [Ford](@/docs/learn/arvo/ford.md)
30
30
31Ford is our build system. It handles resources and publishing.
31Ford is our build system. It handles resources and publishing.
32
32
33−## [Gall](./docs/learn/arvo/gall.md)
33+## [Gall](@/docs/learn/arvo/gall.md)
34
34
35Gall is the vane for controlling userspace apps.
35Gall is the vane for controlling userspace apps.
36
36
37−### [Hall](./docs/learn/arvo/hall.md)
37+### [Hall](@/docs/learn/arvo/hall.md)
38
38
39Hall isn't a vane, but an important Gall app that functions as the Urbit messaging protocol.
39Hall isn't a vane, but an important Gall app that functions as the Urbit messaging protocol.
40
40
learn/arvo/ford.md+1−1
@@ -118,7 +118,7 @@ library in urbit.
118
118
119To run this example, put this code in your desk at `gen/faslus.hoon` and run
119To run this example, put this code in your desk at `gen/faslus.hoon` and run
120`+faslus` in your dojo. This example is a generator. For more information on
120`+faslus` in your dojo. This example is a generator. For more information on
121−generators, see the [generator docs](./docs/learn/hoon/hoon-tutorial/generators.md).
121+generators, see the [generator docs](@/docs/learn/hoon/hoon-tutorial/generators.md).
122
122
123```
123```
124/+ time-to-id
124/+ time-to-id
learn/hoon/_index.md+3−3
@@ -10,14 +10,14 @@ Hoon is an unusual language in several respects, both in syntax and semantics.
10
10
11In this section, you'll find useful resources on the Hoon programming language.
11In this section, you'll find useful resources on the Hoon programming language.
12
12
13−## [The Hoon Tutorial](./docs/learn/hoon/hoon-tutorial/_index.md)
13+## [The Hoon Tutorial](@/docs/learn/hoon/hoon-tutorial/_index.md)
14
14
15This section is the place to learn the fundamentals of the language, from the very beginning.
15This section is the place to learn the fundamentals of the language, from the very beginning.
16
16
17−## [The Hoon Workbook](./docs/learn/hoon/workbook/_index.md)
17+## [The Hoon Workbook](@/docs/learn/hoon/workbook/_index.md)
18
18
19The workbook lets you dive right into code walkthroughs.
19The workbook lets you dive right into code walkthroughs.
20
20
21−## [The Style Guide](./docs/learn/hoon/style.md)
21+## [The Style Guide](@/docs/learn/hoon/style.md)
22
22
23This guide shows you how to write code in the correct way.
23This guide shows you how to write code in the correct way.
learn/hoon/hoon-tutorial/_index.md+2−2
@@ -45,9 +45,9 @@ Chapter 2 covers the type system, and writing apps, and the workings of the Arvo
45
45
46## Other Resources
46## Other Resources
47
47
48−Consult the [Reference section](./docs/reference/_index.md) to look up any unknown rune or standard library function you don't understand.
48+Consult the [Reference section](@/docs/reference/_index.md) to look up any unknown rune or standard library function you don't understand.
49
49
50−As you work your way through these lessons you may want to work on example problems from the [Hoon Workbook](./docs/learn/hoon/workbook/_index.md) for practice. Once you finish the lessons here you may want to write more versatile Hoon programs which can make use of more of your urbit's environment, in which case you'll want to check out the [Generators](./docs/learn/hoon/hoon-tutorial/generators.md) documentation. Or maybe you'd like to learn how to write a [Gall app](content/docs/learn/arvo/gall.md). Learn about [Udon](./docs/using/sail-and-udon.md), Urbit's stripped-down version of Markdown. Or learn [Sail](./docs/using/sail-and-udon.md), a subset of Hoon used for generating XML nodes.
50+As you work your way through these lessons you may want to work on example problems from the [Hoon Workbook](@/docs/learn/hoon/workbook/_index.md) for practice. Once you finish the lessons here you may want to write more versatile Hoon programs which can make use of more of your urbit's environment, in which case you'll want to check out the [Generators](@/docs/learn/hoon/hoon-tutorial/generators.md) documentation. Or maybe you'd like to learn how to write a [Gall app](content/docs/learn/arvo/gall.md). Learn about [Udon](@/docs/using/sail-and-udon.md), Urbit's stripped-down version of Markdown. Or learn [Sail](@/docs/using/sail-and-udon.md), a subset of Hoon used for generating XML nodes.
51
51
52
52
53> Last major revision of this section: February 2019
53> Last major revision of this section: February 2019
learn/hoon/hoon-tutorial/arms-and-cores.md+1−1
@@ -1,5 +1,5 @@
1+++
1+++
2−title = "Arms and Cores"
2+title = "1.7 Arms and Cores"
3weight = 15
3weight = 15
4template = "doc.html"
4template = "doc.html"
5+++
5+++
learn/hoon/hoon-tutorial/atoms-auras-and-simple-cell-types.md+3−3
@@ -17,7 +17,7 @@ In this lesson we'll cover (1)-(4) as they pertain to atoms and simple cell type
17
17
18## Atoms and Auras
18## Atoms and Auras
19
19
20−In [lesson 1.2](./docs/learn/hoon/hoon-tutorial/nouns.md) we defined what an atom is: any unsigned integer. In this lesson we'll expand on that discussion, going over how Hoon's type system implements auras.
20+In [lesson 1.2](@/docs/learn/hoon/hoon-tutorial/nouns.md) we defined what an atom is: any unsigned integer. In this lesson we'll expand on that discussion, going over how Hoon's type system implements auras.
21
21
22In the most straightforward sense, atoms simply are unsigned integers. But they can also be interpreted as representing signed integers, ASCII symbols, floating-point values, dates, binary numbers, hexadecimal numbers, and more. Every atom is, in and of itself, just an unsigned integer; but Hoon keeps track of type information about each atom, and this info tells Hoon how to interpret the atom in question.
22In the most straightforward sense, atoms simply are unsigned integers. But they can also be interpreted as representing signed integers, ASCII symbols, floating-point values, dates, binary numbers, hexadecimal numbers, and more. Every atom is, in and of itself, just an unsigned integer; but Hoon keeps track of type information about each atom, and this info tells Hoon how to interpret the atom in question.
23
23
@@ -241,7 +241,7 @@ Hoon uses the outermost cast to infer the type:
2410b1.0000
2410b1.0000
242```
242```
243
243
244−As you can see, an atom with one aura can be converted to another aura. For a convenient shorthand, you can do this conversion with irregular cast syntax, e.g. `\`@ud\``, rather than using the `^-` rune twice:
244+As you can see, an atom with one aura can be converted to another aura. For a convenient shorthand, you can do this conversion with irregular cast syntax, e.g. `` `@ud` ``, rather than using the `^-` rune twice:
245
245
246```
246```
247> `@ud`0x10
247> `@ud`0x10
@@ -254,7 +254,7 @@ As you can see, an atom with one aura can be converted to another aura. For a c
2540xa
2540xa
255```
255```
256
256
257−This is what we mean when we call auras 'soft' types. The above examples show that the programmer can get around the type system for auras by casting up to `@` and then back down to the specific aura, say `@ub`; or by casting with `\`@ub\`` for short.
257+This is what we mean when we call auras 'soft' types. The above examples show that the programmer can get around the type system for auras by casting up to `@` and then back down to the specific aura, say `@ub`; or by casting with `` `@ub` `` for short.
258
258
259## Examples
259## Examples
260
260
learn/hoon/hoon-tutorial/caesar.md+57−56
@@ -31,51 +31,51 @@ demonstrates important principles that more laconic code would not. Save it as
31```
31```
32!:
32!:
33|= [msg=tape key=@ud]
33|= [msg=tape key=@ud]
34−=+ ^= caesar
34+=<
35− |%
36− ++ alpha "abcdefghijklmnopqrstuvwxyz"
37− ++ shift
38− |= [message=tape key=@ud]
39− (operate message key (encoder key))
40− ++ unshift
41− |= [message=tape key=@ud]
42− (operate message key (decoder key))
43− ++ operate
44− |= [message=tape key=@ud encoder=(map @t @t)]
45− ^- tape
46− %+ turn message
47− |= a=@t
48− (~(got by encoder) a)
49− ++ encoder
50− |= [key=@ud]
51− =/ keytape=tape (rott alpha key)
52− (coder alpha keytape)
53− ++ decoder
54− |= [key=@ud]
55− =/ keytape=tape (rott alpha key)
56− (coder keytape alpha)
57− ++ coder
58− |= [a=tape b=tape]
59− (~(put by (zipper a b)) ' ' ' ')
60− ++ zipper
61− |= [a=tape b=tape]
62− ^- (map @t @t)
63− =| chart=(map @t @t)
64− ?. =((lent a) (lent b))
65− ~| %uneven-lengths !!
66− |-
67− ?: |(?=(~ a) ?=(~ b))
68− chart
69− $(chart (~(put by chart) i.a i.b), a t.a, b t.b)
70− ++ rott
71− |= [m=tape n=@ud]
72− =/ length=@ud (lent m)
73− =+ s=(trim (mod n length) m)
74− (weld q.s p.s)
75− --
76=. msg (cass msg)
35=. msg (cass msg)
77−:- (shift.caesar msg key)
36+:- (shift msg key)
78−(unshift.caesar msg key)
37+(unshift msg key)
38+|%
39+++ alpha "abcdefghijklmnopqrstuvwxyz"
40+++ shift
41+ |= [message=tape key=@ud]
42+ (operate message key (encoder key))
43+++ unshift
44+ |= [message=tape key=@ud]
45+ (operate message key (decoder key))
46+++ operate
47+ |= [message=tape key=@ud encoder=(map @t @t)]
48+ ^- tape
49+ %+ turn message
50+ |= a=@t
51+ (~(got by encoder) a)
52+++ encoder
53+ |= [key=@ud]
54+ =/ keytape=tape (rott alpha key)
55+ (coder alpha keytape)
56+++ decoder
57+ |= [key=@ud]
58+ =/ keytape=tape (rott alpha key)
59+ (coder keytape alpha)
60+++ coder
61+ |= [a=tape b=tape]
62+ (~(put by (zipper a b)) ' ' ' ')
63+++ zipper
64+ |= [a=tape b=tape]
65+ ^- (map @t @t)
66+ =| chart=(map @t @t)
67+ ?. =((lent a) (lent b))
68+ ~| %uneven-lengths !!
69+ |-
70+ ?: |(?=(~ a) ?=(~ b))
71+ chart
72+ $(chart (~(put by chart) i.a i.b), a t.a, b t.b)
73+++ rott
74+ |= [m=tape n=@ud]
75+ =/ length=@ud (lent m)
76+ =+ s=(trim (mod n length) m)
77+ (weld q.s p.s)
78+--
79```
79```
80
80
81This generator takes two arguments: a `tape`, which is your plaintext message,
81This generator takes two arguments: a `tape`, which is your plaintext message,
@@ -124,19 +124,20 @@ event of an error.
124
124
125`|= [msg=tape key=@ud]` creates a gate that takes a cell. The head of this cell
125`|= [msg=tape key=@ud]` creates a gate that takes a cell. The head of this cell
126is a `tape`, which is a string type that's a list of `cord`s. Tapes are represented
126is a `tape`, which is a string type that's a list of `cord`s. Tapes are represented
127−as text surrounded by double-quotes, such as this: `"a tape"`. We give this input tape the face `msg`.
127+as text surrounded by double-quotes, such as this: `"a tape"`. We give this input
128−The tail of our cell is a `@ud` -- an unsigned decimal atom -- that we give the face `key`.
128+tape the face `msg`. The tail of our cell is a `@ud` -- an unsigned decimal atom
129−
129+-- that we give the face `key`.
130−`=+` adds a noun to the subject, `=^ caesar` names that noun, and `|%` is used
131−to create a core that contains the following arms. This results in having a core
132−with the face `caesar` that we can call.
133
130
134−Now let's look at the rest of the program that is outside of our core:
131+`=<` is the rune that evaluates its first child expression with respect to its
132+second child expression as the subject. In this case, we evaluate the
133+expressions in the code chunk below against the core declared later, which
134+allows us reference the core's contained arms before they are defined. Without
135+`=<`, we would need to put the code chunk below at the bottom of our program.
135
136
136```
137```
137=. msg (cass msg)
138=. msg (cass msg)
138−:- (shift.caesar msg key)
139+:- (shift msg key)
139−(unshift.caesar msg key)
140+(unshift msg key)
140```
141```
141
142
142`=. msg (cass msg)` changes the input string `msg` to lowercases. `=.` changes
143`=. msg (cass msg)` changes the input string `msg` to lowercases. `=.` changes
@@ -144,7 +145,7 @@ the leg of the subject to something else. In our case, the leg to be changed is
144`msg`, and the thing to replace it is `(cass msg)`. `cass` is a standard-library
145`msg`, and the thing to replace it is `(cass msg)`. `cass` is a standard-library
145gate that converts uppercase letters to lowercase.
146gate that converts uppercase letters to lowercase.
146
147
147−`:- (shift.caesar msg key)` and `(unshift.caesar msg key)` simply composes a
148+`:- (caesar msg key)` and `(caesar msg key)` simply composes a
148cell of a right-shifted cipher and a left-shifted cell. This is the final output
149cell of a right-shifted cipher and a left-shifted cell. This is the final output
149of our generator.
150of our generator.
150
151
@@ -295,8 +296,8 @@ by.
295`shift` is for encoding, and `unshift` is for decoding. Thus, `shift` calls the
296`shift` is for encoding, and `unshift` is for decoding. Thus, `shift` calls the
296`operate` arm with `(operate message key (encoder key))`, and `unshift` makes
297`operate` arm with `(operate message key (encoder key))`, and `unshift` makes
297that call with `(operate message key (decoder key))`. These both produce the
298that call with `(operate message key (decoder key))`. These both produce the
298−final output of the core, to be called in the form of `(shift.caesar msg key)`
299+final output of the core, to be called in the form of `(caesar msg key)`
299−and `(unshift.caesar msg key)` at the bottom of the program.
300+and `(caesar msg key)` at the bottom of the program.
300
301
301```
302```
302++ operate
303++ operate
learn/hoon/hoon-tutorial/conditionals.md+4−4
@@ -1,6 +1,6 @@
1+++
1+++
2−title = "1.2.1 Walkthrough: Conditionals"
2+title = "1.3.1 Walkthrough: Conditionals"
3−weight = 6
3+weight = 7
4template = "doc.html"
4template = "doc.html"
5+++
5+++
6
6
@@ -39,7 +39,7 @@ Below we'll examine the the series of `?` runes used.
39?: ?& =(0 (mod n 2))
39?: ?& =(0 (mod n 2))
40```
40```
41
41
42−`?:` is the simplest "wut" rune. It takes three expressions: a boolean test, a yes-branch, and a no-branch. The yes-branch is executed when the test evaluates to `%.y` and the no-branch is executed when the test evaluates to `%.n`. Here the yes-branch is `%.y` and the no-branch is `%.n`. The boolean test is the more complicated portion. First we're going to use `?&` to combine to expressions with a logical and operation.
42+`?:` is the simplest "wut" rune. It takes three expressions: a boolean test, a yes-branch, and a no-branch. The yes-branch is executed when the test evaluates to `%.y` and the no-branch is executed when the test evaluates to `%.n`. Here the yes-branch is `%.y` and the no-branch is `%.n`. The boolean test is the more complicated portion. First we're going to use `?&` to combine two expressions with a logical "and" operation.
43
43
44The first expression is:
44The first expression is:
45
45
@@ -59,4 +59,4 @@ The second expression is:
59
59
60Again we use the "and" operator on two expressions with `?&` the first is just checking if n is greater than or equal to 1. The second we have artificially use the `?!` rune to demonstrate its use. `?!` is a logical NOT operation. We use that on the result of asking if n is greater than 100 to effectively ask if it is less than or equal to 100.
60Again we use the "and" operator on two expressions with `?&` the first is just checking if n is greater than or equal to 1. The second we have artificially use the `?!` rune to demonstrate its use. `?!` is a logical NOT operation. We use that on the result of asking if n is greater than 100 to effectively ask if it is less than or equal to 100.
61
61
62−### [Next Up: Reading -- Hoon Syntax](../hoon-syntax)
62+### [Next Up: Reading -- Lists](../lists)
learn/hoon/hoon-tutorial/gates.md+1−3
@@ -1,5 +1,5 @@
1+++
1+++
2−title = "Gates (Hoon Functions)"
2+title = "1.5 Gates (Hoon Functions)"
3weight = 8
3weight = 8
4template = "doc.html"
4template = "doc.html"
5+++
5+++
@@ -68,8 +68,6 @@ The gate works as promised -- it takes any number `n` and returns `n + 1`. Let'
68
68
69We typically use the `|=` rune to create a gate. In the expression above the `|=` is immediately followed by a set of parentheses containing two subexpressions: `a=@` and `(add 1 a)`. The first defines the gate's sample (input value type), and the second defines the gate's product (value).
69We typically use the `|=` rune to create a gate. In the expression above the `|=` is immediately followed by a set of parentheses containing two subexpressions: `a=@` and `(add 1 a)`. The first defines the gate's sample (input value type), and the second defines the gate's product (value).
70
70
71−When we used the `|%` rune in the last lesson we didn't use parentheses because we were writing in "tall form" syntax, whereas here we are writing in "flat form" syntax. (The latter uses parentheses and is more suitable for shorter snippets of code.) We'll explain these concepts more thoroughly in lesson 2.2.
72−
73In the example gate above, `inc`, the sample is defined by `a=@`. This means that the sample is defined as an atom, `@`, meaning that the gate will take as input anything of that type. The sample is given the face `a`. With the face it's easier to refer to the sample in later code, if desired.
71In the example gate above, `inc`, the sample is defined by `a=@`. This means that the sample is defined as an atom, `@`, meaning that the gate will take as input anything of that type. The sample is given the face `a`. With the face it's easier to refer to the sample in later code, if desired.
74
72
75In `inc`, the product is defined by `(add 1 a)`. There's not much to it -- it returns the value of `a + 1`!
73In `inc`, the product is defined by `(add 1 a)`. There's not much to it -- it returns the value of `a + 1`!
learn/hoon/hoon-tutorial/generators.md+1−1
@@ -25,7 +25,7 @@ a
25
25
26This generator takes one argument of any noun and produces it without any
26This generator takes one argument of any noun and produces it without any
27changes. If we put this into a file named `echo.hoon` in the `/gen` directory,
27changes. If we put this into a file named `echo.hoon` in the `/gen` directory,
28−we can run it from the [Dojo](./docs/using/shell.md):
28+we can run it from the [Dojo](@/docs/using/shell.md):
29
29
30```
30```
31> +echo 42
31> +echo 42
learn/hoon/hoon-tutorial/hoon-syntax.md+15−13
@@ -6,15 +6,15 @@ template = "doc.html"
6
6
7The study of Hoon can be divided into two parts: syntax and semantics.
7The study of Hoon can be divided into two parts: syntax and semantics.
8
8
9−The [syntax](https://en.wikipedia.org/wiki/Syntax_(programming_languages%29) of a programming language is the set of rules that determine what counts as admissible code in that language. It determines which characters may be used in the source, and also how these characters may be assembled to constitute a program. Attempting to run a program that doesn't follow these rules will result in a syntax error.
9+The [syntax](https://en.wikipedia.org/wiki/Syntax_%28programming_languages%29 ) of a programming language is the set of rules that determine what counts as admissible code in that language. It determines which characters may be used in the source, and also how these characters may be assembled to constitute a program. Attempting to run a program that doesn't follow these rules will result in a syntax error.
10
10
11−The [semantics](https://en.wikipedia.org/wiki/Semantics_(computer_science%29) of a programming language concerns the meaning of the various parts of that language's code.
11+The [semantics](https://en.wikipedia.org/wiki/Semantics_%28computer_science%29 ) of a programming language concerns the meaning of the various parts of that language's code.
12
12
13In this lesson we will give a general overview of Hoon's syntax. By the end of it, you should be familiar with all the basic elements of Hoon code.
13In this lesson we will give a general overview of Hoon's syntax. By the end of it, you should be familiar with all the basic elements of Hoon code.
14
14
15## Hoon Characters
15## Hoon Characters
16
16
17−Hoon source files are composed almost entirely of the [printable ASCII characters](https://en.wikipedia.org/wiki/ASCII#Printable_characters). Hoon does not accept any other characters in source files except for [UTF-8](https://en.wikipedia.org/wiki/UTF-8) in quoted strings. Hard tab characters are illegal; use two spaces instead.
17+Hoon source files are composed almost entirely of the [printable ASCII characters](https://en.wikipedia.org/wiki/ASCII%23Printable_characters). Hoon does not accept any other characters in source files except for [UTF-8](https://en.wikipedia.org/wiki/UTF-8) in quoted strings. Hard tab characters are illegal; use two spaces instead.
18
18
19```
19```
20> "You can put ½ in quotes, but not elsewhere!"
20> "You can put ½ in quotes, but not elsewhere!"
@@ -52,7 +52,7 @@ Note that the list includes two separate whitespace forms: `ace` for a single sp
52
52
53## Expressions of Hoon
53## Expressions of Hoon
54
54
55−An [expression](https://en.wikipedia.org/wiki/Expression_(computer_science%29) is a combination of characters that the language interprets and evaluates as producing a value. Hoon programs are made up entirely of expressions.
55+An [expression](https://en.wikipedia.org/wiki/Expression_%28computer_science%29 ) is a combination of characters that the language interprets and evaluates as producing a value. Hoon programs are made up entirely of expressions.
56
56
57Hoon expressions can be either basic or complex. Basic expressions of Hoon are fundamental, meaning that they can't be broken down into smaller expressions. Complex expressions are made up of smaller expressions (which are called **subexpressions**).
57Hoon expressions can be either basic or complex. Basic expressions of Hoon are fundamental, meaning that they can't be broken down into smaller expressions. Complex expressions are made up of smaller expressions (which are called **subexpressions**).
58
58
@@ -62,7 +62,7 @@ There are many categories of Hoon expressions: noun literals, wing expressions,
62
62
63A noun is either an atom or a cell. An atom is an unsigned integer and a cell is a pair of nouns.
63A noun is either an atom or a cell. An atom is an unsigned integer and a cell is a pair of nouns.
64
64
65−There are [literal](https://en.wikipedia.org/wiki/Literal_(computer_programming%29) expressions for each kind of noun. A noun literal is just a notation for representing a fixed noun value.
65+There are [literal](https://en.wikipedia.org/wiki/Literal_%28computer_programming%29 ) expressions for each kind of noun. A noun literal is just a notation for representing a fixed noun value.
66
66
67We start with atom literals. Each of these is a basic expression of Hoon that evaluates to itself. Examples:
67We start with atom literals. Each of these is a basic expression of Hoon that evaluates to itself. Examples:
68
68
@@ -83,7 +83,7 @@ We start with atom literals. Each of these is a basic expression of Hoon that e
83~zod
83~zod
84```
84```
85
85
86−Recall from [lesson 1.2](./docs/learn/hoon/hoon-tutorial/nouns.md) that even though atoms are unsigned integers, they can be pretty-printed in different ways. The way an atom is to be represented depends on its aura. The literal syntax for each of the hard-coded auras will be explained further in [lesson 2.4](./docs/learn/hoon/hoon-tutorial/atoms-auras-and-simple-cell-types.md).
86+Recall from [lesson 1.2](@/docs/learn/hoon/hoon-tutorial/nouns.md) that even though atoms are unsigned integers, they can be pretty-printed in different ways. The way an atom is to be represented depends on its aura. The literal syntax for each of the hard-coded auras will be explained further in [lesson 2.4](@/docs/learn/hoon/hoon-tutorial/atoms-auras-and-simple-cell-types.md).
87
87
88Cell literals can be written in Hoon using `[ ]`. Cell literals are complex, because other expressions are put inside the square brackets. Examples:
88Cell literals can be written in Hoon using `[ ]`. Cell literals are complex, because other expressions are put inside the square brackets. Examples:
89
89
@@ -110,7 +110,7 @@ You can also put complex expressions inside square brackets to make a cell. The
110
110
111### Wings
111### Wings
112
112
113−A wing expression is a series of limb expressions separated by `.`. You learned about these in [sections 1.3](./docs/reference/hoon-expressions/limb/wing.md) and [sections 1.4](./docs/reference/hoon-expressions/limb/limb.md).
113+A wing expression is a series of limb expressions separated by `.`. You learned about these in [sections 1.3](@/docs/reference/hoon-expressions/limb/wing.md) and [sections 1.4](@/docs/reference/hoon-expressions/limb/limb.md).
114
114
115Let's start with the base case: a single limb. A limb expression is a trivial wing expression -- there is only one limb in the series. Some one-limb wings:
115Let's start with the base case: a single limb. A limb expression is a trivial wing expression -- there is only one limb in the series. Some one-limb wings:
116
116
@@ -123,7 +123,7 @@ Let's start with the base case: a single limb. A limb expression is a trivial w
123- `add`
123- `add`
124- `mul`
124- `mul`
125
125
126−As a special limb we also have `$`. This is the name of the arm in special one-armed cores called "gates". (We covered the role of `$` in [lesson 1.5](./docs/learn/hoon/hoon-tutorial/gates.md).)
126+As a special limb we also have `$`. This is the name of the arm in special one-armed cores called "gates". (We covered the role of `$` in [lesson 1.5](@/docs/learn/hoon/hoon-tutorial/gates.md).)
127
127
128Wing expressions with multiple limbs are complex expressions. Examples:
128Wing expressions with multiple limbs are complex expressions. Examples:
129
129
@@ -140,7 +140,7 @@ Wing expressions with multiple limbs are complex expressions. Examples:
140
140
141Hoon is a statically typed language. You'll learn more about the type system later in the chapter. For now, just know that Hoon's type system uses special symbols to indicate certain fundamental types: `~` (null), `*` (noun), `@` (atom), `^` (cell), and `?` (flag). Each of these symbols can be used as a stand-alone expression of Hoon. In the case of `@` there may be a series of letters following it, to indicate an atom aura; e.g., `@s`, `@rs`, `@tas`, and `@tD`.
141Hoon is a statically typed language. You'll learn more about the type system later in the chapter. For now, just know that Hoon's type system uses special symbols to indicate certain fundamental types: `~` (null), `*` (noun), `@` (atom), `^` (cell), and `?` (flag). Each of these symbols can be used as a stand-alone expression of Hoon. In the case of `@` there may be a series of letters following it, to indicate an atom aura; e.g., `@s`, `@rs`, `@tas`, and `@tD`.
142
142
143−They may also be put in brackets to indicate compound types, e.g., `[@ ^]`, `[@ud @sb]`, `[[? *] ^]`. (Technically these expressions don't _always_ indicate compound types. In certain contexts they're interpreted in a different way. We'll address this variation of meaning in [lesson 2.6](./docs/learn/hoon/hoon-tutorial/structures-and-complex-types.md).)
143+They may also be put in brackets to indicate compound types, e.g., `[@ ^]`, `[@ud @sb]`, `[[? *] ^]`. (Technically these expressions don't _always_ indicate compound types. In certain contexts they're interpreted in a different way. We'll address this variation of meaning in [lesson 2.6](@/docs/learn/hoon/hoon-tutorial/structures-and-complex-types.md).)
144
144
145### Rune Expressions
145### Rune Expressions
146
146
@@ -150,7 +150,9 @@ Expressions with a rune at the beginning are rune expressions. Most runes are u
150
150
151Runes are classified by family (with the exceptions of `--` and `==`). The first of the two symbols indicates the family -- e.g., the `^-` rune is in the `^` family of runes, and the `|=` and `|%` runes are in the `|` family. The runes of particular family usually have related meanings. Two simple examples: the runes in the `|` family are all used to create cores, and the runes in the `:` family are all used to create cells.
151Runes are classified by family (with the exceptions of `--` and `==`). The first of the two symbols indicates the family -- e.g., the `^-` rune is in the `^` family of runes, and the `|=` and `|%` runes are in the `|` family. The runes of particular family usually have related meanings. Two simple examples: the runes in the `|` family are all used to create cores, and the runes in the `:` family are all used to create cells.
152
152
153−Rune expressions are usually complex, which means they usually have one or more subexpressions. The appropriate syntax varies from rune to rune; after all, they're used for different purposes. To see the syntax rules for a particular rune, consult the [rune reference](./docs/reference/hoon-expressions/rune/_index.md). Nevertheless, there are some general principles that hold of all rune expressions.
153+Rune expressions are usually complex, which means they usually have one or more subexpressions. The appropriate syntax varies from rune to rune; after all, they're used for different purposes. To see the syntax rules for a particular rune, consult the [rune reference](@/docs/reference/hoon-expressions/rune/_index.md). Nevertheless, there are some general principles that hold of all rune expressions.
154+
155+Runes generally do not need to be closed. In other languages you'll see an abundance of terminators, such as opening and closing parentheses, and this way of doing this is largely absent from Urbit. That's because all runes take a fixed number of children. Children can themselves be runes (with more children), and Hoon programs work by chaining through these series of children until a value -- not another rune -- is arrived at. This makes Hoon code nice and neat to look at.
154
156
155#### Tall and Flat Forms
157#### Tall and Flat Forms
156
158
@@ -247,7 +249,7 @@ The irregular `( )` gate-calling syntax is versatile -- it is also a shortcut fo
247
249
248The `( )` gate-calling syntax can be used for gates with any number of arguments.
250The `( )` gate-calling syntax can be used for gates with any number of arguments.
249
251
250−You can find other irregular forms in the irregular expression [reference document](./docs/reference/hoon-expressions/irregular.md).
252+You can find other irregular forms in the irregular expression [reference document](@/docs/reference/hoon-expressions/irregular.md).
251
253
252### Expressions That Are Only Irregular
254### Expressions That Are Only Irregular
253
255
@@ -282,7 +284,7 @@ b=[16 18]
282[16 18]
284[16 18]
283```
285```
284
286
285−To see other irregular expressions, check the irregular expression [reference document](./docs/reference/hoon-expressions/irregular.md).
287+To see other irregular expressions, check the irregular expression [reference document](@/docs/reference/hoon-expressions/irregular.md).
286
288
287
289
288## The Standard Library
290## The Standard Library
@@ -323,4 +325,4 @@ There are a couple useful runes associated with debugging:
323
325
324But there are more. Check out the aforementioned [troubleshooting](/docs/reference/troubleshooting/) page to see other handy debugging runes and how to use them.
326But there are more. Check out the aforementioned [troubleshooting](/docs/reference/troubleshooting/) page to see other handy debugging runes and how to use them.
325
327
326−### [Next Up: Reading -- Lists](../lists)
328+### [Next Up: Walkthrough -- Conditionals](../conditionals)
learn/hoon/hoon-tutorial/libraries.md+10−8
@@ -46,10 +46,11 @@ In Hoon, like in other languages, it's often useful to create a library for othe
46 :_ shuffled
46 :_ shuffled
47 (snag 0 unshuffled)
47 (snag 0 unshuffled)
48 =^ index random (rads:random remaining)
48 =^ index random (rads:random remaining)
49− %^ $
49+ %= $
50− shuffled (snag index unshuffled)^shuffled
50+ shuffled (snag index unshuffled)^shuffled
51− remaining (dec remaining)
51+ remaining (dec remaining)
52− unshuffled (oust [index 1] unshuffled)
52+ unshuffled (oust [index 1] unshuffled)
53+ ==
53++ draw
54++ draw
54 |= [n=@ud d=deck]
55 |= [n=@ud d=deck]
55 ^- [hand=deck rest=deck]
56 ^- [hand=deck rest=deck]
@@ -136,10 +137,11 @@ The `?+` rune is the rune to switch against a value with a default. The default
136 :_ shuffled
137 :_ shuffled
137 (snag 0 unshuffled)
138 (snag 0 unshuffled)
138 =^ index random (rads:random remaining)
139 =^ index random (rads:random remaining)
139− %^ $
140+ %= $
140− shuffled (snag index unshuffled)^shuffled
141+ shuffled (snag index unshuffled)^shuffled
141− remaining (dec remaining)
142+ remaining (dec remaining)
142− unshuffled (oust [index 1] unshuffled)
143+ unshuffled (oust [index 1] unshuffled)
144+ ==
143```
145```
144
146
145Finally, in the code above, we come to `shuffle-deck`. This gate takes two arguments: a `deck`, and a `@` as a bit of `entropy` to seed the `og` core. It's going to produce a `deck`.
147Finally, in the code above, we come to `shuffle-deck`. This gate takes two arguments: a `deck`, and a `@` as a bit of `entropy` to seed the `og` core. It's going to produce a `deck`.
learn/hoon/hoon-tutorial/list-of-numbers.md+2−2
@@ -3,7 +3,7 @@ title = "1.1.1 Walkthrough: List of Numbers"
3weight = 3
3weight = 3
4template = "doc.html"
4template = "doc.html"
5+++
5+++
6−This code-example is intended to familiarize you with the basics of Hoon syntax. It's okay if you don't understand everything immediately; some concepts may beyond your grasp for now. What's important is that you become accustomed to the elements of the code and their look once combined into a valid program.
6+This code-example is intended to familiarize you with the basics of Hoon syntax. It's okay if you don't understand everything immediately; some concepts may be beyond your grasp for now. What's important is that you become accustomed to the elements of the code and their look once combined into a valid program.
7
7
8Below is a simple Hoon program that takes a single number `n` from the user as input and produces a list of numbers from `1` up to (but not including) `n`. So, if the user gives the number `5`, the program will produce: `~[1 2 3 4]`.
8Below is a simple Hoon program that takes a single number `n` from the user as input and produces a list of numbers from `1` up to (but not including) `n`. So, if the user gives the number `5`, the program will produce: `~[1 2 3 4]`.
9
9
@@ -105,7 +105,7 @@ $(count (add 1 count))
105
105
106The above code is, once again, a compact way of writing a rune expression. All you need to know is that this line of code restarts the program at `|-`, except with the value stored in `count` incremented by 1. The construction of `(count (add 1 count))` tells the computer, "replace the value of count with count+1".
106The above code is, once again, a compact way of writing a rune expression. All you need to know is that this line of code restarts the program at `|-`, except with the value stored in `count` incremented by 1. The construction of `(count (add 1 count))` tells the computer, "replace the value of count with count+1".
107
107
108−You'll notice that we use an unfamiliar word here: `add`. Unlike `count` and `end`, `add` is not defined anywhere in our program. That's because it's a gate that's predefined in the Hoon **standard library**. The standard library is filled with pre-defined gates that are generally useful, and these gates can be used just like something that you defined in your own program. You can see this gate, and other mathematical operators, in [section 1a](./docs/reference/library/1a.md) of the standard-library documentation.
108+You'll notice that we use an unfamiliar word here: `add`. Unlike `count` and `end`, `add` is not defined anywhere in our program. That's because it's a gate that's predefined in the Hoon **standard library**. The standard library is filled with pre-defined gates that are generally useful, and these gates can be used just like something that you defined in your own program. You can see this gate, and other mathematical operators, in [section 1a](@/docs/reference/library/1a.md) of the standard-library documentation.
109
109
110## Explanation
110## Explanation
111
111
learn/hoon/hoon-tutorial/nouns.md+1−1
@@ -479,4 +479,4 @@ That's it for our basic introduction to nouns. Hit `ctrl-d` to exit your ship,
479+ +15
479+ +15
480+ +31
480+ +31
481
481
482−### [Next Up: Reading -- Conditionals](../conditionals)
482+### [Next Up: Reading -- Hoon Syntax](../hoon-syntax)
learn/hoon/hoon-tutorial/recursion.md+3−3
@@ -3,7 +3,7 @@ title = "1.5.1 Walkthrough: Recursion"
3weight = 9
3weight = 9
4template = "doc.html"
4template = "doc.html"
5+++
5+++
6−Recursion is a common pattern for solving certain problems in most programming
6+[Recursion](.) is a common pattern for solving certain problems in most programming
7languages, and Hoon is no exception. One of the classically recursive problems
7languages, and Hoon is no exception. One of the classically recursive problems
8is that of factorial. The factorial of _n_ is the product of all positive
8is that of factorial. The factorial of _n_ is the product of all positive
9integers less than or equal to N. Thus the factorial of 5, denoted as _5!_,
9integers less than or equal to N. Thus the factorial of 5, denoted as _5!_,
@@ -177,7 +177,7 @@ of. That's because a gate is just a core with a single arm named `$`. The
177subject is searched depth-first, head before tail, with faces skipped, and
177subject is searched depth-first, head before tail, with faces skipped, and
178stopping on the first result. In other words, the first match found in the head
178stopping on the first result. In other words, the first match found in the head
179will be returned. If you wished to refer to the outer `$` in this context, the
179will be returned. If you wished to refer to the outer `$` in this context, the
180−idiomatic way would be to use [`^$`](./docs/reference/hoon-expressions/rune/ket.md). The `^` operator
180+idiomatic way would be to use [`^$`](@/docs/reference/hoon-expressions/rune/ket.md). The `^` operator
181skips the first match of a name.
181skips the first match of a name.
182
182
183### Exercises
183### Exercises
@@ -191,4 +191,4 @@ Disks are stacked on a pole by decreasing order of size. Move all of the
191disks from one pole to another with a third pole as a spare, moving one
191disks from one pole to another with a third pole as a spare, moving one
192disc at a time, without putting a larger disk on top of a smaller disk.
192disc at a time, without putting a larger disk on top of a smaller disk.
193
193
194−### [Next Up: Reading -- The Subject and its Legs](../lists)
194+### [Next Up: Reading -- The Subject and its Legs](../the-subject-and-its-legs/)
learn/hoon/hoon-tutorial/structures-and-complex-types.md+2−2
@@ -350,6 +350,6 @@ Often `$@` is used to define a type with a null or trivial case for the `@` case
350
350
351Now the `~` value is included as a possible value for `user`.
351Now the `~` value is included as a possible value for `user`.
352
352
353−That's all we have to say about types in this chapter. More on types in [Chapter 3](./docs/learn/hoon/hoon-tutorial/type-polymorphism.md).
353+That's all we have to say about types in this chapter. More on types in [Chapter 3](@/docs/learn/hoon/hoon-tutorial/type-polymorphism.md).
354
354
355−### [Next Up: Walkthrough -- Taxonomy](../taxonomy)
355+### [Next Up: Walkthrough -- Libraries](../libraries)
learn/hoon/hoon-tutorial/the-subject-and-its-legs.md+1−1
@@ -1,5 +1,5 @@
1+++
1+++
2−title = "The Subject and Its Legs"
2+title = "1.6 The Subject and Its Legs"
3weight = 13
3weight = 13
4template = "doc.html"
4template = "doc.html"
5+++
5+++
learn/hoon/hoon-tutorial/trees-sets-and-maps.md+2−2
@@ -87,7 +87,7 @@ $(hay r.hay)
87
87
88## Sets
88## Sets
89
89
90−Use `set` to create a data structure for a set of values, e.g., `(set @)` for a set of atoms. The `in` core in the Hoon standard library contains the various functions for operating on sets. See the standard library reference documentation for sets here (include link).
90+Use `set` to create a data structure for a set of values, e.g., `(set @)` for a set of atoms. The `in` core in the Hoon standard library contains the various functions for operating on sets. See the standard library reference documentation for sets [here](/docs/reference/library/2h/).
91
91
92As with `list`s and `tree`s, there are two categories of sets: null `~`, and non-null. Hoon implements sets using trees for the underlying noun.
92As with `list`s and `tree`s, there are two categories of sets: null `~`, and non-null. Hoon implements sets using trees for the underlying noun.
93
93
@@ -236,7 +236,7 @@ Use `map` to create a set of key-value pairs, e.g., `(map @tas *)` for a set of
236
236
237One example use case is for storing customer information as a set of pairs: `(map [employee-name employee-data])`.
237One example use case is for storing customer information as a set of pairs: `(map [employee-name employee-data])`.
238
238
239−The `by` core in the Hoon standard library contains the various functions for operating on maps. Many of these functions are similar to the set functions of the `in` core. See the standard library reference documentation for maps here (include link). As was the case with sets, the underlying noun of each map is a tree.
239+The `by` core in the Hoon standard library contains the various functions for operating on maps. Many of these functions are similar to the set functions of the `in` core. See the standard library reference documentation for maps here [here](/docs/reference/library/2i/). As was the case with sets, the underlying noun of each map is a tree.
240
240
241Two common methods for populating a map include (1) creating it from a list of key-value cells using the `my` function, and (2) inserting items into a map using the `put` arm of the `by` core.
241Two common methods for populating a map include (1) creating it from a list of key-value cells using the `my` function, and (2) inserting items into a map using the `put` arm of the `by` core.
242
242
learn/hoon/hoon-tutorial/type-checking-and-type-inference.md+1−1
@@ -639,4 +639,4 @@ More subtly, the `=+`, `=/`, and `=|` runes modify the subject by pinning values
639
639
640In general, anything that modifies the subject modifies the type of the subject. Type inference can work in subtle ways for various expressions. However, we have covered enough that it should be relatively clear how to anticipate how type inference works for the vast majority of ordinary use cases.
640In general, anything that modifies the subject modifies the type of the subject. Type inference can work in subtle ways for various expressions. However, we have covered enough that it should be relatively clear how to anticipate how type inference works for the vast majority of ordinary use cases.
641
641
642−### [Next Up: Reading -- Insertion Sort](../insertion)
642+### [Next Up: Reading -- Structures and Complex Types](../structures-and-complex-types)
learn/hoon/style.md+1−1
@@ -40,7 +40,7 @@ or
40```
40```
41
41
42These are regular forms -- every rune can be written this way.
42These are regular forms -- every rune can be written this way.
43−Hoon also has a variety of wide [irregular forms](./docs/reference/hoon-expressions/irregular.md). All tall
43+Hoon also has a variety of wide [irregular forms](@/docs/reference/hoon-expressions/irregular.md). All tall
44forms are regular. All code within a wide form is wide.
44forms are regular. All code within a wide form is wide.
45Almost all code has both wide and tall forms, the exception
45Almost all code has both wide and tall forms, the exception
46being named cores.
46being named cores.
learn/hoon/workbook/_index.md+4−6
@@ -7,12 +7,10 @@ template = "sections/docs/chapters.html"
7The Workbook is the place to sharpen your Hoon skills. Each entry in the
7The Workbook is the place to sharpen your Hoon skills. Each entry in the
8Workbook is a code walkthrough followed by exercises.
8Workbook is a code walkthrough followed by exercises.
9
9
10−- The [Digits](./docs/learn/hoon/workbook/digits.md) example demonstrates how to decompose a number into a list of its digits.
10+- The [Digits](@/docs/learn/hoon/workbook/digits.md) example demonstrates how to decompose a number into a list of its digits.
11
11
12−- The [Magic 8-Ball](./docs/learn/hoon/workbook/eightball.md) example emulates everyone's favorite decision-making machine.
12+- The [Magic 8-Ball](@/docs/learn/hoon/workbook/eightball.md) example emulates everyone's favorite decision-making machine.
13
13
14−- The [Traffic-light](./docs/learn/hoon/workbook/traffic-light.md) example demonstrates how to creates a state machine in Hoon.
14+- The [Traffic-light](@/docs/learn/hoon/workbook/traffic-light.md) example demonstrates how to creates a state machine in Hoon.
15
15
16−- The [Bomb-defusing](./docs/learn/hoon/workbook/bomb.md) exercise shows how to program, well, a bomb-defusing scenario.
16+- The [Bomb-defusing](@/docs/learn/hoon/workbook/bomb.md) exercise shows how to program, well, a bomb-defusing scenario.
17−
18−- The [Fibonacci](./docs/learn/hoon/workbook/fibonacci.md) example shows how to write a generator that produces a list of Fibonacci numbers.
learn/hoon/workbook/ackermann.mddeleted−24
@@ -1,24 +0,0 @@
1−+++
2−title = "Ackermann"
3−weight = 10
4−template = "doc.html"
5−+++
6−
7−Write a gate to compute [Ackermann's Function](https://en.wikipedia.org/wiki/Ackermann_function)
8−
9−```
10−|= [m=@ n=@]
11−?~ m +(n)
12−?~ n $(m (dec m), n 1)
13−$(m (dec m), n $(n (dec n)))
14−```
15−
16−Ackermann Function is one of the earliest examples of a function that is totally computable, meaning it can be solved, but is not primitive recursive, meaning it can not be rewritten in an iterative fashion.
17−
18−Our gate takes two argument, `m` and `n`. There are three cases.
19−
20−First, if `m` is zero, return the increment of `n`.
21−Second, if `n` is zero, decrement `m`, set `n` to 1 and recurse.
22−Else, decrement `m` and set `n` to be the value of the Ackermann function with `n` and the decrement of `n` as arguments.
23−
24−This is not a terribly useful function to compute but it has an interesting history in mathematics. When running this function the value grows rapidly even for very small input. The value of computing this where `m` is `4` and `n` is `2` is an integer with 19,729 digits.
learn/hoon/workbook/bank.mddeleted−79
@@ -1,79 +0,0 @@
1−+++
2−title = "Bank Account"
3−weight = 0
4−template = "doc.html"
5−+++
6−
7−Write a door that can act as a bank account with the ability to withdraw, deposit, and check the balance.
8−
9−```
10−:- %say
11−|= *
12−:- %noun
13−=< =~ new-account
14− (deposit 100)
15− (deposit 100)
16− (withdraw 50)
17− balance
18− ==
19−|%
20−++ new-account
21− |_ balance=@ud
22− ++ deposit
23− |= amount=@ud
24− +>.$(balance (add balance amount))
25− ++ withdraw
26− |= amount=@ud
27− +>.$(balance (sub balance amount))
28− --
29−--
30−```
31−
32−We start with the three lines we have in every `%say` generator.
33−
34−```
35−:- %say
36−|= *
37−:- %noun
38−```
39−
40−We're creating a cell the head of which is a `%say` and the tail of which is a gate that produces a cell with a head of the mark of the kind of data we are going to produce.
41−
42−```
43−=< =~ new-account
44− (deposit 100)
45− (deposit 100)
46− (withdraw 50)
47− balance
48− ==
49−```
50−
51−Here we're going to compose two runes using `=<` which has inverted arguments. We use this rune to keep the heaviest twig to the bottom of the code.
52−
53−`=~` is a rune that composes multiple expressions. We take `new-account` and use that as the subject for the call to `deposit`. `deposit` and `withdraw` both produce a new version of the door which is used in subsequent calls which is why we are able to chain them in this fashion, the final reference is to `balance` which is the balance contain in the core we are about to examine.
54−
55−```
56−|%
57−++ new-account
58− |_ balance=@ud
59− ++ deposit
60− |= amount=@ud
61− +>.$(balance (add balance amount))
62− ++ withdraw
63− |= amount=@ud
64− +>.$(balance (sub balance amount))
65− --
66−--
67−```
68−
69−We've chosen here to wrap our door in it's own core to emulate the style of programming that is used when creating libraries. `new-account` is the name of our door. Recall that a door is a core with one or more arms that has a sample. Here our door has a sample of one `@ud` with the face `balance` and two arms, `deposit` and `withdraw`.
70−
71−Each of these arms produces a gate which takes an `@ud` argument. Each of these gates has a similar bit of code inside.
72−
73−```
74−+>.$(balance (add balance amount))
75−```
76−
77−With wing syntax remember that we're looking for `+>`, or the 3rd element, out of `$`, which is to say the subject of the gate we are in, which is the entire `new-account` door. We change `balance` to be the result of adding `balance` and `amount` and produce the door as the result. `withdraw` functions the same way only doing subtraction instead of addition.
78−
79−The important point to notice here is that the sample, `balance`, is stored as part of the door rather than existing outside of it.
learn/hoon/workbook/digits.md+1−1
@@ -21,7 +21,7 @@ of its digits.
21==
21==
22```
22```
23
23
24−We're creating a [`%say` generator](./docs/learn/hoon/hoon-tutorial/generators.md). That means we
24+We're creating a [`%say` generator](@/docs/learn/hoon/hoon-tutorial/generators.md). That means we
25need some "boilerplate" code in the format of `[%say [%noun "data"]]`:
25need some "boilerplate" code in the format of `[%say [%noun "data"]]`:
26
26
27```
27```
learn/hoon/workbook/eightball.md+1−1
@@ -59,7 +59,7 @@ is good practice whenever developing something in Hoon.
59
59
60To make our program produce a random result, we need entropy. To get entropy,
60To make our program produce a random result, we need entropy. To get entropy,
61we need data from Arvo. To get data from Arvo, we use a generator of the
61we need data from Arvo. To get data from Arvo, we use a generator of the
62−[`%say`](./docs/learn/hoon/hoon-tutorial/generators.md) variety. The above code chunk is
62+[`%say`](@/docs/learn/hoon/hoon-tutorial/generators.md) variety. The above code chunk is
63the template that is followed for all `%say` generators.
63the template that is followed for all `%say` generators.
64
64
65`:- %say` creates a cell with `%say` as that cell's head to define
65`:- %say` creates a cell with `%say` as that cell's head to define
learn/hoon/workbook/fibonacci.mddeleted−60
@@ -1,60 +0,0 @@
1−+++
2−title = "Fibonacci"
3−weight = 9
4−template = "doc.html"
5−+++
6−
7−In this example, we will write a generator that produces a list of Fibonacci numbers up to `n`.
8−
9−```
10−|= n=@ud
11−%- flop
12−=+ [i=0 p=0 q=1 r=*(list @ud)]
13−|- ^+ r
14−?: =(i n) r
15−%= $
16− i +(i)
17− p q
18− q (add p q)
19− r [q r]
20−==
21−```
22−
23−On the first line, we use `|=` to produce a gate which takes an `@ud` that's stored in the face `n`. This `n` sample that we give our gate determines how long our Fibonacci sequence is. When the list that our program builds has `n` members, the program ends.
24−
25−```
26−%- flop
27−```
28−
29−In the line above, we use `flop` on the output of the rest of the program. `flop` is a standard library function to reverse a list.
30−
31−Why are we using this instead of just producing the list in the order we want it in the first place? Because with lists, adding an element to the end is a computationally expensive operation that gets more expensive the longer the list is, due to the fact that you need to traverse to the end of the tree. Adding an element to the front, however, is cheap. [In Big-O Notation](https://en.wikipedia.org/wiki/Big_O_notation), adding to the end of a list is O(n) and the front is O(1).
32−
33−```
34−=+ [i=0 p=0 q=1 r=*(list @ud)]
35−```
36−
37−Here we declare several values that we are going to use the execution of our program. The only one of these that is noteworthy is `r`: we're using `*` to bunt, or get the default value for, the mold `(list @ud)`.
38−
39−```
40−|- ^+ r
41−```
42−
43−With this code, we define `|-`, the _trap_ that acts as a recursion point and contains the rest of our program. We also use `^+` to cast the output by example. This will result in the output being the same type as `r`, a list of `@ud`.
44−
45−```
46−?: =(i n) r
47−```
48−
49−In the code above, `?:` checks whether the first child, `=(i n)`, our terminating case, is true or false. If it is true, it branches to `r` and the program ends. If it is false, the program continues to the code below.
50−
51−```
52−%= $
53− i +(i)
54− p q
55− q (add p q)
56− r [q r]
57−==
58−```
59−
60−The final expression in our program calls the `$` arm of the trap we are but makes some changes: we increment `i`, set `p` to be `q` and `q` becomes the sum of `p` and `q`. `r` becomes a cell of `q` and whatever `r` was previously. The list built from this is the one that will get `flop`ped to produce the result at the end of the computation.
learn/hoon/workbook/traffic-light.md+2−2
@@ -36,7 +36,7 @@ Let's look at the code piece-by-piece.
36```
36```
37
37
38Here's the boilerplate code to designate our generator as being a
38Here's the boilerplate code to designate our generator as being a
39−[`%say` generator](./docs/learn/hoon/hoon-tutorial/generators.md). We're using this variant because
39+[`%say` generator](@/docs/learn/hoon/hoon-tutorial/generators.md). We're using this variant because
40it allows us to run the generator without any arguments. It's otherwise not
40it allows us to run the generator without any arguments. It's otherwise not
41relevant to the functionality of our program.
41relevant to the functionality of our program.
42
42
@@ -97,7 +97,7 @@ We first produce a core with one arm named `$`. That `$` arm will produce a new
97core with `current-state` changed to match the `s` provided when it was called.
97core with `current-state` changed to match the `s` provided when it was called.
98How does this work?
98How does this work?
99
99
100−Remember that `.` is [wing syntax](./docs/reference/hoon-expressions/limb/wing.md) that
100+Remember that `.` is [wing syntax](@/docs/reference/hoon-expressions/limb/wing.md) that
101applies the wing expression on the left of it to the noun to the right of it.
101applies the wing expression on the left of it to the noun to the right of it.
102`$` is the arm of the core. Then by using the wing expression `+>`, which means
102`$` is the arm of the core. Then by using the wing expression `+>`, which means
103"return the head of the tail", we traverse the subject to the core to latch onto
103"return the head of the tail", we traverse the subject to the core to latch onto
learn/nock/_index.md+4−4
@@ -8,18 +8,18 @@ template = "sections/docs/chapters.html"
8
8
9Nock is the low-level functional programming language that is interpreted by Vere. You don't need to know Nock to write Hoon, or even to work on most parts of Vere. But if you want to understand the foundations of Urbit and are mathematically-inclined, dive right in.
9Nock is the low-level functional programming language that is interpreted by Vere. You don't need to know Nock to write Hoon, or even to work on most parts of Vere. But if you want to understand the foundations of Urbit and are mathematically-inclined, dive right in.
10
10
11−## [Nock Definition](./docs/learn/nock/definition.md)
11+## [Nock Definition](@/docs/learn/nock/definition.md)
12
12
13The Nock specification.
13The Nock specification.
14
14
15−## [An explanation of Nock](./docs/learn/nock/explanation.md)
15+## [An explanation of Nock](@/docs/learn/nock/explanation.md)
16
16
17A comprehensive walkthrough of the Nock spec.
17A comprehensive walkthrough of the Nock spec.
18
18
19−## [Nock by hand](./docs/learn/nock/example.md)
19+## [Nock by hand](@/docs/learn/nock/example.md)
20
20
21Learn Nock by example.
21Learn Nock by example.
22
22
23−## [Nock Implementations](./docs/learn/nock/implementations.md)
23+## [Nock Implementations](@/docs/learn/nock/implementations.md)
24
24
25The many ways that Nock has been implemented.
25The many ways that Nock has been implemented.
learn/nock/implementations.md+1−1
@@ -33,7 +33,7 @@ We use a C implementation for our Nock interpreter. But building a Nock interpre
33
33
34The actual production Nock interpreter. Note gotos for tail-call elimination,
34The actual production Nock interpreter. Note gotos for tail-call elimination,
35and manual reference counting. More about the C environment can be found
35and manual reference counting. More about the C environment can be found
36−in the [runtime system documentation](./docs/learn/vere/runtime.md).
36+in the [runtime system documentation](@/docs/learn/vere/runtime.md).
37```
37```
38/* _n_nock_on(): produce .*(bus fol). Do not virtualize.
38/* _n_nock_on(): produce .*(bus fol). Do not virtualize.
39*/
39*/
learn/vere/_index.md+5−5
@@ -10,26 +10,26 @@ Keep reading if you're planning to work on the Urbit interpreter, you're a
10language implementation geek, or you don't really understand anything until
10language implementation geek, or you don't really understand anything until
11you've seen the actual structs.
11you've seen the actual structs.
12
12
13−## [C runtime system](./docs/learn/vere/runtime.md)
13+## [C runtime system](@/docs/learn/vere/runtime.md)
14
14
15The Urbit interpreter is built on a Nock runtime system written
15The Urbit interpreter is built on a Nock runtime system written
16in C, `u3`. This section is a relatively complete description.
16in C, `u3`. This section is a relatively complete description.
17
17
18−## [c3: C in Urbit](./docs/learn/vere/c.md)
18+## [c3: C in Urbit](@/docs/learn/vere/c.md)
19
19
20Under `u3` is the simple `c3` layer, which is just how we write C
20Under `u3` is the simple `c3` layer, which is just how we write C
21in Urbit.
21in Urbit.
22
22
23−## [u3: Land of nouns](./docs/learn/vere/nouns.md)
23+## [u3: Land of nouns](@/docs/learn/vere/nouns.md)
24
24
25The division between `c3` and `u3` is that you could theoretically
25The division between `c3` and `u3` is that you could theoretically
26imagine using `c3` as just a generic C environment. Anything to do
26imagine using `c3` as just a generic C environment. Anything to do
27with nouns is in `u3`.
27with nouns is in `u3`.
28
28
29−## [u3: API overview by prefix](./docs/learn/vere/api.md)
29+## [u3: API overview by prefix](@/docs/learn/vere/api.md)
30
30
31A walkthrough of each of the `u3` modules.
31A walkthrough of each of the `u3` modules.
32
32
33−## [How to write a jet](./docs/learn/vere/jetting.md)
33+## [How to write a jet](@/docs/learn/vere/jetting.md)
34
34
35A jetting guide by for new Urbit developers.
35A jetting guide by for new Urbit developers.
learn/vere/jetting.md+2−2
@@ -504,7 +504,7 @@ A `u3_noun` will want to be further disassembled into atoms.
504A `u3_atom` represents a simple number, but the implementation may or
504A `u3_atom` represents a simple number, but the implementation may or
505may not be simple. If the value held in the atom is 31 bits or less,
505may not be simple. If the value held in the atom is 31 bits or less,
506it's stored directly in the atom. If the value is 32 bits the atom
506it's stored directly in the atom. If the value is 32 bits the atom
507−holds a pointer into the loom where the actual value is stored. ( see [Nouns](./docs/learn/vere/nouns.md) )
507+holds a pointer into the loom where the actual value is stored. ( see [Nouns](@/docs/learn/vere/nouns.md) )
508
508
509You don't want to get bogged down in the details of this -- you just
509You don't want to get bogged down in the details of this -- you just
510want to get data out of your atoms.
510want to get data out of your atoms.
@@ -617,7 +617,7 @@ are just recursive calls to the cell constructor `u3i_cell()` e.g.
617 u3i_cell(a, u3i_cell(b, u3i_cell(c, d));
617 u3i_cell(a, u3i_cell(b, u3i_cell(c, d));
618```
618```
619
619
620−Understanding the memory model, allocation, freeing, and ownership ('transfer' vs 'retain' semantics) is important. Some info is available at [Nouns](./docs/learn/vere/nouns.md).
620+Understanding the memory model, allocation, freeing, and ownership ('transfer' vs 'retain' semantics) is important. Some info is available at [Nouns](@/docs/learn/vere/nouns.md).
621
621
622## Compile the C code
622## Compile the C code
623
623
reference/_index.md+5−5
@@ -6,24 +6,24 @@ template = "sections/docs/chapters.html"
6+++
6+++
7Various reference documents are stored here, particularly for Hoon, but also for other parts of the system.
7Various reference documents are stored here, particularly for Hoon, but also for other parts of the system.
8
8
9−## [The Glossary](./docs/reference/glossary.md)
9+## [The Glossary](@/docs/reference/glossary.md)
10
10
11Urbit is known for introducing a great deal of new terminology. The glossary will
11Urbit is known for introducing a great deal of new terminology. The glossary will
12help demystify our jargon.
12help demystify our jargon.
13
13
14−## [The Cheat Sheet](./docs/reference/cheat-sheet.md)
14+## [The Cheat Sheet](@/docs/reference/cheat-sheet.md)
15
15
16The cheat sheet is a compact document for looking up Hoon runes.
16The cheat sheet is a compact document for looking up Hoon runes.
17
17
18−## [Hoon Expressions](./docs/reference/hoon-expressions/_index.md)
18+## [Hoon Expressions](@/docs/reference/hoon-expressions/_index.md)
19
19
20This section contains more comprehensive reference materials for Hoon runes and other expressions, describing their exact
20This section contains more comprehensive reference materials for Hoon runes and other expressions, describing their exact
21semantics and syntax.
21semantics and syntax.
22
22
23−## [Standard Library](./docs/reference/library/_index.md)
23+## [Standard Library](@/docs/reference/library/_index.md)
24
24
25This section documents the gates and mold-builders of the Hoon standard library.
25This section documents the gates and mold-builders of the Hoon standard library.
26
26
27−## [Troubleshooting](./docs/reference/troubleshooting.md)
27+## [Troubleshooting](@/docs/reference/troubleshooting.md)
28
28
29When your Hoon produces an error, check what it means here.
29When your Hoon produces an error, check what it means here.
reference/cheat-sheet.md+1−1
@@ -11,7 +11,7 @@ hand. So above is a download link to a Hoon cheatsheet .pdf. It's missing a
11few of the literal syntaxes, but it covers the most common ones.
11few of the literal syntaxes, but it covers the most common ones.
12
12
13This doesn't list any of the Ford runes, although there is now at least
13This doesn't list any of the Ford runes, although there is now at least
14−some documentation for those [here](./docs/learn/arvo/ford.md).
14+some documentation for those [here](@/docs/learn/arvo/ford.md).
15
15
16The following runes also exist, but are currently undocumented and not listed in
16The following runes also exist, but are currently undocumented and not listed in
17the cheat sheet:
17the cheat sheet:
reference/glossary.md+31−34
@@ -63,7 +63,7 @@ their effects happen like so:
63Arvo is located in `/home/sys/arvo.hoon` within your urbit.
63Arvo is located in `/home/sys/arvo.hoon` within your urbit.
64
64
65More in-depth information on Arvo can be found
65More in-depth information on Arvo can be found
66−[`here`](./docs/learn/arvo/_index.md).
66+[`here`](@/docs/learn/arvo/_index.md).
67
67
68Below are Arvo modules, which are called "vanes".
68Below are Arvo modules, which are called "vanes".
69
69
@@ -76,7 +76,7 @@ Below are Arvo modules, which are called "vanes".
76 Ames is located in `/home/sys/vane/ames.hoon` within your urbit.
76 Ames is located in `/home/sys/vane/ames.hoon` within your urbit.
77
77
78 More in-depth information on Ames can be found
78 More in-depth information on Ames can be found
79− [`here`](./docs/learn/arvo/ames.md).
79+ [`here`](@/docs/learn/arvo/ames.md).
80
80
81##### Behn
81##### Behn
82
82
@@ -100,9 +100,9 @@ Below are Arvo modules, which are called "vanes".
100 Clay is located at `/home/sys/vane/clay.hoon` within your urbit.
100 Clay is located at `/home/sys/vane/clay.hoon` within your urbit.
101
101
102 Basic information on using Clay can be found
102 Basic information on using Clay can be found
103− [`here`](./docs/using/filesystem.md). An in-depth explanation
103+ [`here`](@/docs/using/filesystem.md). An in-depth explanation
104 of the architecture can be found
104 of the architecture can be found
105− [`here`](./docs/learn/arvo/clay.md).
105+ [`here`](@/docs/learn/arvo/clay.md).
106
106
107##### Dill
107##### Dill
108
108
@@ -121,7 +121,7 @@ Below are Arvo modules, which are called "vanes".
121 Dill is located at `/home/sys/vane/clay.hoon` within your urbit.
121 Dill is located at `/home/sys/vane/clay.hoon` within your urbit.
122
122
123 More in-depth information on Dill can be found
123 More in-depth information on Dill can be found
124− [`here`](./docs/learn/arvo/dill.md).
124+ [`here`](@/docs/learn/arvo/dill.md).
125
125
126##### Eyre
126##### Eyre
127
127
@@ -135,7 +135,7 @@ Below are Arvo modules, which are called "vanes".
135 Eyre is located at `/home/sys/vane/eyre.hoon` within your urbit.
135 Eyre is located at `/home/sys/vane/eyre.hoon` within your urbit.
136
136
137 More in-depth information on Eyre can be found
137 More in-depth information on Eyre can be found
138− [`here`](./docs/learn/arvo/eyre.md).
138+ [`here`](@/docs/learn/arvo/eyre.md).
139
139
140##### Ford
140##### Ford
141
141
@@ -150,7 +150,7 @@ Below are Arvo modules, which are called "vanes".
150 Ford is located at `/home/sys/vane/ford.hoon` within your urbit.
150 Ford is located at `/home/sys/vane/ford.hoon` within your urbit.
151
151
152 More in-depth information on Ford can be found
152 More in-depth information on Ford can be found
153− [`here`](./docs/learn/arvo/ford.md).
153+ [`here`](@/docs/learn/arvo/ford.md).
154
154
155##### Gall
155##### Gall
156
156
@@ -166,7 +166,7 @@ Below are Arvo modules, which are called "vanes".
166 Gall is located at `/home/sys/vane/gall.hoon` within your urbit.
166 Gall is located at `/home/sys/vane/gall.hoon` within your urbit.
167
167
168 More in-depth information on Gall can be found
168 More in-depth information on Gall can be found
169− [`here`](./docs/learn/arvo/gall.md).
169+ [`here`](@/docs/learn/arvo/gall.md).
170
170
171### atom
171### atom
172
172
@@ -185,7 +185,7 @@ An atom type is _warm_ or _cold_ based on whether the constant exists.
185
185
186 If the constant is `[~ atom]`, its only legal value is `atom`.
186 If the constant is `[~ atom]`, its only legal value is `atom`.
187
187
188−_See [basic types](./docs/reference/hoon-expressions/basic.md)_
188+_See [basic types](@/docs/reference/hoon-expressions/basic.md)_
189
189
190### aura
190### aura
191
191
@@ -241,7 +241,7 @@ Aura Meaning Example Literal Syntax
241 @ux unsigned hexadecimal 0x5f5.e138
241 @ux unsigned hexadecimal 0x5f5.e138
242```
242```
243
243
244−You can find the list of all auras [here](./docs/reference/hoon-expressions/rune/constants.md).
244+You can find the list of all auras [here](@/docs/reference/hoon-expressions/rune/constants.md).
245
245
246### blocksize
246### blocksize
247
247
@@ -305,7 +305,7 @@ translate to cores in Hoon.
305
305
306 The data-containing tail of a core.
306 The data-containing tail of a core.
307
307
308−_See [basic types](./docs/reference/hoon-expressions/basic.md)._
308+_See [basic types](@/docs/reference/hoon-expressions/basic.md)._
309
309
310### Dojo
310### Dojo
311
311
@@ -346,7 +346,7 @@ In the above example, `a` is the face and `2` is the value.
346Hoon has no scope or symbol-table; there is only the subject. To "declare" a
346Hoon has no scope or symbol-table; there is only the subject. To "declare" a
347"variable" is to construct a new subject: `[name=value old-subject]`.
347"variable" is to construct a new subject: `[name=value old-subject]`.
348
348
349−_See [advanced types](./docs/reference/hoon-expressions/advanced.md)_.
349+_See [advanced types](@/docs/reference/hoon-expressions/advanced.md)_.
350
350
351
351
352### flag
352### flag
@@ -354,14 +354,11 @@ _See [advanced types](./docs/reference/hoon-expressions/advanced.md)_.
354A `flag` is Hoon's version of a boolean. `0` (`%.y`) is _yes_, `1` (`%.n`) is
354A `flag` is Hoon's version of a boolean. `0` (`%.y`) is _yes_, `1` (`%.n`) is
355_no_.
355_no_.
356
356
357−Why? It's fresh, it's different, it's new. And it's annoying. And it
358−keeps you on your toes. And it's also just intuitively right.
359−
360### gate
357### gate
361
358
362A _gate_ is a [core](#core) with one [arm](#arm) -- Hoon's closest
359A _gate_ is a [core](#core) with one [arm](#arm) -- Hoon's closest
363analog to a function. To call a gate on an argument, replace the sample
360analog to a function. To call a gate on an argument, replace the sample
364−(at [tree address](./docs/reference/hoon-expressions/limb/limb.md) `+6`
361+(at [tree address](@/docs/reference/hoon-expressions/limb/limb.md) `+6`
365in the core) with the argument, and then compute the arm.
362in the core) with the argument, and then compute the arm.
366
363
367The payload of a gate has a shape of `[sample context]`.
364The payload of a gate has a shape of `[sample context]`.
@@ -374,8 +371,8 @@ The payload of a gate has a shape of `[sample context]`.
374
371
375 The subject in which the gate was defined.
372 The subject in which the gate was defined.
376
373
377−_See [basic types](./docs/reference/hoon-expressions/basic.md),
374+_See [basic types](@/docs/reference/hoon-expressions/basic.md),
378−[`%-` ("cenhep")](./docs/reference/hoon-expressions/rune/cen.md#cenhep/) (the
375+[`%-` ("cenhep")](@/docs/reference/hoon-expressions/rune/cen.md#cenhep) (the
379[rune](#rune) for calling a `gate`)._
376[rune](#rune) for calling a `gate`)._
380
377
381### generator
378### generator
@@ -396,7 +393,7 @@ information pipeline.
396
393
397Generators are run from the `/gen` directory of your current desk. For example,
394Generators are run from the `/gen` directory of your current desk. For example,
398to run a generator named `whatever.hoon`, you would type `> +whatever` in the
395to run a generator named `whatever.hoon`, you would type `> +whatever` in the
399−[Dojo](./docs/using/shell.md).
396+[Dojo](@/docs/using/shell.md).
400
397
401### glyph
398### glyph
402
399
@@ -426,7 +423,7 @@ _Hall_ is the Urbit communication back-end. It’s a messaging bus that can work
426with clients of all sorts. [`:talk`](#talk), the built-in chat client, is one
423with clients of all sorts. [`:talk`](#talk), the built-in chat client, is one
427such app that uses Hall.
424such app that uses Hall.
428
425
429−_More information on Hall can be found [here](./docs/learn/arvo/hall.md)._
426+_More information on Hall can be found [here](@/docs/learn/arvo/hall.md)._
430
427
431##### circle
428##### circle
432
429
@@ -449,7 +446,7 @@ to Nock.
449
446
450The Hoon source file is located in `/home/sys/hoon.hoon` within your urbit.
447The Hoon source file is located in `/home/sys/hoon.hoon` within your urbit.
451
448
452−_More information can be found in the [hoon](./docs/learn/hoon/_index.md) section._
449+_More information can be found in the [hoon](@/docs/learn/hoon/_index.md) section._
453
450
454##### Mint
451##### Mint
455
452
@@ -480,7 +477,7 @@ atoms (in this case each with an aura of `%ud`, i.e. unsigned
480decimal).
477decimal).
481
478
482To parse Hoon source into a hoon AST, use `ream` on a `cord`
479To parse Hoon source into a hoon AST, use `ream` on a `cord`
483−containing Hoon source. Try the following in [Dojo](./docs/using/shell.md):
480+containing Hoon source. Try the following in [Dojo](@/docs/using/shell.md):
484
481
485```
482```
486(ream ':+(12 7 %a)')
483(ream ':+(12 7 %a)')
@@ -492,7 +489,7 @@ The result should be:
492[%clls p=[%sand p=%ud q=12] q=[%sand p=%ud q=7] r=[%rock p=%tas q=97]]
489[%clls p=[%sand p=%ud q=12] q=[%sand p=%ud q=7] r=[%rock p=%tas q=97]]
493```
490```
494
491
495−See [expression reference](./docs/reference/hoon-expressions/rune/_index.md) for the full list of hoons.
492+See [expression reference](@/docs/reference/hoon-expressions/rune/_index.md) for the full list of hoons.
496
493
497### irregular form
494### irregular form
498
495
@@ -500,7 +497,7 @@ Irregular forms are alternative ways of writing Hoon expressions, alternatives
500to the digraphic runes such as `:~`. Irregular forms are usually more compact
497to the digraphic runes such as `:~`. Irregular forms are usually more compact
501than regular forms.=
498than regular forms.=
502
499
503−_See [irregular forms](./docs/reference/hoon-expressions/irregular.md)._
500+_See [irregular forms](@/docs/reference/hoon-expressions/irregular.md)._
504
501
505### jet
502### jet
506
503
@@ -513,7 +510,7 @@ so inefficiently. Nock, for example, can’t decrement (reduce a number by one)
513except by starting building a loop that starts from zero and increments to a
510except by starting building a loop that starts from zero and increments to a
514number just below.
511number just below.
515
512
516−_See [API overview](./docs/learn/vere/api.md)._
513+_See [API overview](@/docs/learn/vere/api.md)._
517
514
518### lark
515### lark
519
516
@@ -563,7 +560,7 @@ found, the result is the product of the arm.
563 a search path into the subject, composed of
560 a search path into the subject, composed of
564 limbs. Search occurs from right to left (`a.b` means `b` within `a`).
561 limbs. Search occurs from right to left (`a.b` means `b` within `a`).
565
562
566−_See [Limbs and wings](./docs/reference/hoon-expressions/limb/_index.md)_
563+_See [Limbs and wings](@/docs/reference/hoon-expressions/limb/_index.md)_
567
564
568### move
565### move
569
566
@@ -603,7 +600,7 @@ Urbit's low-level programming language. Nock is functional and typeless.
603
600
604 a noun - the result of evaluating a formula against a subject.
601 a noun - the result of evaluating a formula against a subject.
605
602
606−_See the [Nock definition](./docs/learn/nock/definition.md)._
603+_See the [Nock definition](@/docs/learn/nock/definition.md)._
607
604
608### mark
605### mark
609
606
@@ -629,7 +626,7 @@ properties of the type of a compatible core). The default is `gold`
629- `zinc`: _covariant_
626- `zinc`: _covariant_
630- `iron`: _contravariant_
627- `iron`: _contravariant_
631
628
632−_See [advanced types](./docs/reference/hoon-expressions/advanced.md)_.
629+_See [advanced types](@/docs/reference/hoon-expressions/advanced.md)_.
633
630
634### ship
631### ship
635
632
@@ -718,10 +715,10 @@ _See [mold hoons](/docs/reference/hoon-expressions/rune/buc/)._
718A Hoon _rune_ is a pair of ASCII symbols used to begin a
715A Hoon _rune_ is a pair of ASCII symbols used to begin a
719[Hoon expression](#a-hoon).
716[Hoon expression](#a-hoon).
720
717
721−For example, the rune [`?:`](./docs/reference/hoon-expressions/rune/wut.md#wutcol/) is
718+For example, the rune [`?:`](@/docs/reference/hoon-expressions/rune/wut.md#wutcol) is
722Hoon's most common conditional, a branch on a boolean test. The first
719Hoon's most common conditional, a branch on a boolean test. The first
723symbol in a rune represents a family of related runes. For example, the
720symbol in a rune represents a family of related runes. For example, the
724−[`?` family](./docs/reference/hoon-expressions/rune/wut.md) are all conditionals.
721+[`?` family](@/docs/reference/hoon-expressions/rune/wut.md) are all conditionals.
725
722
726The result of parsing a Hoon source expression&mdash;the rune, followed
723The result of parsing a Hoon source expression&mdash;the rune, followed
727by its respective children&mdash;into an AST node is simply called
724by its respective children&mdash;into an AST node is simply called
@@ -757,7 +754,7 @@ Tall hoons can contain flat hoons, but not vice versa. All irregular
757forms are flat.
754forms are flat.
758
755
759_See [hoon concept](#a-hoon),
756_See [hoon concept](#a-hoon),
760−[expressions](./docs/reference/hoon-expressions/rune/_index.md).
757+[expressions](@/docs/reference/hoon-expressions/rune/_index.md).
761
758
762### Sail
759### Sail
763
760
@@ -768,7 +765,7 @@ _Sail_ is the Hoon markup language for XML.
768To _scry_ means to request data from the Arvo namespace and bring it
765To _scry_ means to request data from the Arvo namespace and bring it
769to userspace.
766to userspace.
770
767
771−_See [.^ (dot-ket)](./docs/reference/hoon-expressions/rune/dot.md#dotket)._
768+_See [.^ (dot-ket)](@/docs/reference/hoon-expressions/rune/dot.md#dotket)._
772
769
773### slot
770### slot
774
771
@@ -787,7 +784,7 @@ The head of `+n` is `+2n`, the tail is `+(2n+1)`.
787_Talk_ is Urbit's built-in chat app. It’s one example of an app that can be
784_Talk_ is Urbit's built-in chat app. It’s one example of an app that can be
788built on top of Hall, the Urbit back-end messaging system.
785built on top of Hall, the Urbit back-end messaging system.
789
786
790−_See [Messaging](./docs/using/messaging.md). for more information._
787+_See [Messaging](@/docs/using/messaging.md). for more information._
791
788
792### type
789### type
793
790
@@ -809,7 +806,7 @@ of the simpler built-in types.
809 If `nest` produces no, the Hoon programmer will receive a `nest-fail`
806 If `nest` produces no, the Hoon programmer will receive a `nest-fail`
810 error. This is one of the most commons errors in Hoon programming.
807 error. This is one of the most commons errors in Hoon programming.
811
808
812− _See [advanced types](./docs/reference/hoon-expressions/advanced.md)_ and [troubleshooting](./docs/reference/troubleshooting.md).
809+ _See [advanced types](@/docs/reference/hoon-expressions/advanced.md)_ and [troubleshooting](@/docs/reference/troubleshooting.md).
813
810
814
811
815### Unit
812### Unit
reference/hoon-expressions/_index.md+5−5
@@ -6,22 +6,22 @@ template = "sections/docs/chapters.html"
6+++
6+++
7Documentation for Hoon expressions.
7Documentation for Hoon expressions.
8
8
9−## [Runes](./docs/reference/hoon-expressions/rune/_index.md)
9+## [Runes](@/docs/reference/hoon-expressions/rune/_index.md)
10
10
11Runes are a way to form expressions in Hoon. Their exact semantics and
11Runes are a way to form expressions in Hoon. Their exact semantics and
12
12
13−## [Limbs and Wings](./docs/reference/hoon-expressions/limb/_index.md)
13+## [Limbs and Wings](@/docs/reference/hoon-expressions/limb/_index.md)
14
14
15Limbs and wings are ways to extract data from the subject.
15Limbs and wings are ways to extract data from the subject.
16
16
17−## [Basic Types](./docs/reference/hoon-expressions/basic.md)
17+## [Basic Types](@/docs/reference/hoon-expressions/basic.md)
18
18
19A simplified explanation of of the Hoon type system.
19A simplified explanation of of the Hoon type system.
20
20
21−## [Advanced Types](./docs/reference/hoon-expressions/advanced.md)
21+## [Advanced Types](@/docs/reference/hoon-expressions/advanced.md)
22
22
23A more comprehensive explanation of the Hoon type system, covering aliasing and polymorphism.
23A more comprehensive explanation of the Hoon type system, covering aliasing and polymorphism.
24
24
25−## [Irregular Forms](./docs/reference/hoon-expressions/irregular.md)
25+## [Irregular Forms](@/docs/reference/hoon-expressions/irregular.md)
26
26
27Alternative syntaxes for Hoon runes.
27Alternative syntaxes for Hoon runes.
reference/hoon-expressions/advanced.md+1−1
@@ -190,7 +190,7 @@ limb, we just search the type depth-first.
190If a name is in the `p.p` map, it's an alias. (An alias is defined using the
190If a name is in the `p.p` map, it's an alias. (An alias is defined using the
191`=*` rune.) The map contains a `(unit hoon)`; if the unit is full, the name
191`=*` rune.) The map contains a `(unit hoon)`; if the unit is full, the name
192resolves to that hoon (compiled against the `q` type). If the unit is empty,
192resolves to that hoon (compiled against the `q` type). If the unit is empty,
193−the name is blocked / skipped (see [limb](./docs/reference/hoon-expressions/limb/limb.md) for what
193+the name is blocked / skipped (see [limb](@/docs/reference/hoon-expressions/limb/limb.md) for what
194this means).
194this means).
195
195
196If a name is in the `q.p` map, it's a bridge. (A bridge is defined using the
196If a name is in the `q.p` map, it's a bridge. (A bridge is defined using the
reference/hoon-expressions/basic.md+1−1
@@ -31,7 +31,7 @@ including both faces and arm names. (See Chapter 1 of the Hoon tutorial for an
31introduction to name resolution.)
31introduction to name resolution.)
32
32
33As noted, this is a simplified version of `type`. We undo and
33As noted, this is a simplified version of `type`. We undo and
34−explain the simplifications in the [advanced types](./docs/reference/hoon-expressions/advanced.md)
34+explain the simplifications in the [advanced types](@/docs/reference/hoon-expressions/advanced.md)
35section.
35section.
36
36
37```
37```
reference/hoon-expressions/irregular.md+18−18
@@ -17,7 +17,7 @@ Anything Nock can do, Hoon can do also.
17
17
18### .+ dotlus
18### .+ dotlus
19
19
20−[docs](./docs/reference/hoon-expressions/rune/lus.md) \\+
20+[docs](@/docs/reference/hoon-expressions/rune/dot.md) \\+
21`[%dtls p=atom]`: increment an atom with Nock 4.
21`[%dtls p=atom]`: increment an atom with Nock 4.
22
22
23R: `.+(p)`
23R: `.+(p)`
@@ -25,7 +25,7 @@ I: `+(p)`
25
25
26### .= dottis
26### .= dottis
27
27
28−[docs](./docs/reference/hoon-expressions/rune/tis.md) \\=
28+[docs](@/docs/reference/hoon-expressions/rune/dot.md) \\=
29`[%dtls p=hoon q=hoon]`: test for equality with Nock 5.
29`[%dtls p=hoon q=hoon]`: test for equality with Nock 5.
30
30
31R: `.=(p q)`
31R: `.=(p q)`
@@ -37,7 +37,7 @@ Miscellaneous useful macros.
37
37
38### ;: miccol
38### ;: miccol
39
39
40−[docs](./docs/reference/hoon-expressions/rune/col.md) \\:
40+[docs](@/docs/reference/hoon-expressions/rune/mic.md) \\:
41`[%smcl p=hoon q=(list hoon)]`: call a binary function as an n-ary function.
41`[%smcl p=hoon q=(list hoon)]`: call a binary function as an n-ary function.
42
42
43R: `;:(p q)`
43R: `;:(p q)`
@@ -49,7 +49,7 @@ The cell runes.
49
49
50### :- colhep
50### :- colhep
51
51
52−[docs](./docs/reference/hoon-expressions/rune/col.md) \\[\\]\\^\\+\\\`\\~
52+[docs](@/docs/reference/hoon-expressions/rune/col.md) \\[\\]\\^\\+\\\`\\~
53`[%clhp p=hoon q=hoon]`: construct a cell (2-tuple).
53`[%clhp p=hoon q=hoon]`: construct a cell (2-tuple).
54
54
55R: `:-(p q)`
55R: `:-(p q)`
@@ -71,7 +71,7 @@ Flow hoons change the subject. All non-flow hoons (except cores) pass the subjec
71
71
72### =< tisgar
72### =< tisgar
73
73
74−[docs](./docs/reference/hoon-expressions/rune/tis.md) \\:
74+[docs](@/docs/reference/hoon-expressions/rune/tis.md) \\:
75`[%tsgl p=hoon q=hoon]`: compose two hoons, inverted.
75`[%tsgl p=hoon q=hoon]`: compose two hoons, inverted.
76
76
77R: `=<(p q)`
77R: `=<(p q)`
@@ -79,7 +79,7 @@ I: `p:q`
79
79
80## | bar (core)
80## | bar (core)
81
81
82−[docs](./docs/reference/hoon-expressions/rune/bar.md) \\$
82+[docs](@/docs/reference/hoon-expressions/rune/bar.md) \\$
83Core hoons are flow hoon.
83Core hoons are flow hoon.
84
84
85Technically not irregular syntax, but worth mentioning.
85Technically not irregular syntax, but worth mentioning.
@@ -97,7 +97,7 @@ The invocation family of runes.
97
97
98### %= centis
98### %= centis
99
99
100−[docs](./docs/reference/hoon-expressions/rune/tis.md) \\(\\)
100+[docs](@/docs/reference/hoon-expressions/rune/cen.md) \\(\\)
101`[%cnts p=wing q=(list (pair wing hoon))]`: take a wing with changes.
101`[%cnts p=wing q=(list (pair wing hoon))]`: take a wing with changes.
102
102
103R: `%=(p a 1)`
103R: `%=(p a 1)`
@@ -105,7 +105,7 @@ I: `p(a 1)`
105
105
106### %~ censig
106### %~ censig
107
107
108−[docs](./docs/reference/hoon-expressions/rune/sig.md) \\~
108+[docs](@/docs/reference/hoon-expressions/rune/cen.md) \\~
109`[%cnsg p=wing q=hoon r=hoon]`: call with multi-armed door.
109`[%cnsg p=wing q=hoon r=hoon]`: call with multi-armed door.
110
110
111R: `%~(p q r)`
111R: `%~(p q r)`
@@ -113,7 +113,7 @@ I: `~(p q r)`
113
113
114### %- cenhep
114### %- cenhep
115
115
116−[docs](./docs/reference/hoon-expressions/rune/cen.md) \\(\\)
116+[docs](@/docs/reference/hoon-expressions/rune/cen.md) \\(\\)
117`[%cnhp p=hoon q=hoon]`: call a gate (function).
117`[%cnhp p=hoon q=hoon]`: call a gate (function).
118
118
119R: `%-(p q)`
119R: `%-(p q)`
@@ -127,7 +127,7 @@ A mold is a gate (function) that helps us build simple and rigorous data structu
127
127
128### $? bucwut
128### $? bucwut
129
129
130−[docs](./docs/reference/hoon-expressions/rune/wut.md) \\?
130+[docs](@/docs/reference/hoon-expressions/rune/buc.md) \\?
131`[%bcwt p=(list model)]`: mold which normalizes a general union.
131`[%bcwt p=(list model)]`: mold which normalizes a general union.
132
132
133R: `$?(p)`
133R: `$?(p)`
@@ -135,7 +135,7 @@ I: `?(p)`
135
135
136### $_ buccab
136### $_ buccab
137
137
138−[docs](./docs/reference/hoon-expressions/rune/buc.md) \\_
138+[docs](@/docs/reference/hoon-expressions/rune/buc.md) \\_
139`[%bccb p=value]`: mold which normalizes to an example.
139`[%bccb p=value]`: mold which normalizes to an example.
140
140
141R: `$_(p)`
141R: `$_(p)`
@@ -147,7 +147,7 @@ Hoon has the usual branches and logical tests.
147
147
148### ?! wutzap
148### ?! wutzap
149
149
150−[docs](./docs/reference/hoon-expressions/rune/zap.md) \\!
150+[docs](@/docs/reference/hoon-expressions/rune/wut.md) \\!
151`[%wtzp p=hoon]`: logical not.
151`[%wtzp p=hoon]`: logical not.
152
152
153R: `?!(p)`
153R: `?!(p)`
@@ -155,7 +155,7 @@ I: `!(p)`
155
155
156### ?& wutpam
156### ?& wutpam
157
157
158−[docs](./docs/reference/hoon-expressions/rune/wut.md) \\&
158+[docs](@/docs/reference/hoon-expressions/rune/wut.md) \\&
159`[%wtpm p=(list hoon)]`: logical and.
159`[%wtpm p=(list hoon)]`: logical and.
160
160
161R: `?&(p)`
161R: `?&(p)`
@@ -163,7 +163,7 @@ I: `&(p)`
163
163
164### ?| wutbar
164### ?| wutbar
165
165
166−[docs](./docs/reference/hoon-expressions/rune/bar.md) \\|
166+[docs](@/docs/reference/hoon-expressions/rune/wut.md) \\|
167`[%wtbr p=(list hoon)]`: logical or.
167`[%wtbr p=(list hoon)]`: logical or.
168
168
169R: `?|(p)`
169R: `?|(p)`
@@ -175,7 +175,7 @@ Lets us adjust types without violating type constraints.
175
175
176### ^- kethep
176### ^- kethep
177
177
178−[docs](./docs/reference/hoon-expressions/rune/ket.md) \\\`
178+[docs](@/docs/reference/hoon-expressions/rune/ket.md) \\\`
179`[%kthp p=model q=value]`: typecast by mold.
179`[%kthp p=model q=value]`: typecast by mold.
180
180
181R: `^-(p q)`
181R: `^-(p q)`
@@ -183,7 +183,7 @@ I: `` `p`q ``
183
183
184### ^= kettis
184### ^= kettis
185
185
186−[docs](./docs/reference/hoon-expressions/rune/ket.md) \\=
186+[docs](@/docs/reference/hoon-expressions/rune/ket.md) \\=
187`[%ktts p=toga q=value]`: name a value.
187`[%ktts p=toga q=value]`: name a value.
188
188
189R: `^=(p q)`
189R: `^=(p q)`
@@ -210,7 +210,7 @@ I: `p=q`
210- `|` loobean false.
210- `|` loobean false.
211- `%a` constant `a`, where `a` can be an ((ir)regularly defined) atom or a symbol.
211- `%a` constant `a`, where `a` can be an ((ir)regularly defined) atom or a symbol.
212
212
213−See [%sand](./docs/reference/hoon-expressions/rune/constants.md#warm) for other irregular definitions of atoms.
213+See [%sand](@/docs/reference/hoon-expressions/rune/constants.md#warm) for other irregular definitions of atoms.
214
214
215### List addressing
215### List addressing
216
216
@@ -219,7 +219,7 @@ See [%sand](./docs/reference/hoon-expressions/rune/constants.md#warm) for other
219
219
220### Limbs
220### Limbs
221
221
222−[docs](./docs/reference/hoon-expressions/limb/limb.md) \\+\\.\\^
222+[docs](@/docs/reference/hoon-expressions/limb/limb.md) \\+\\.\\^
223`[%limb p=(each @ud [p=@ud q=@tas])]`: attribute of subject.
223`[%limb p=(each @ud [p=@ud q=@tas])]`: attribute of subject.
224
224
225- `+15` is slot 15
225- `+15` is slot 15
reference/hoon-expressions/limb/_index.md+2−2
@@ -8,10 +8,10 @@ One feature Hoon lacks: a context that isn't a first-class value. Hoon has no
8concept of scope, environment, etc. An expression has exactly one data source,
8concept of scope, environment, etc. An expression has exactly one data source,
9the **subject**, a noun like any other.
9the **subject**, a noun like any other.
10
10
11−## [Limbs](./docs/reference/hoon-expressions/limb/limb.md)
11+## [Limbs](@/docs/reference/hoon-expressions/limb/limb.md)
12
12
13A limb is used to resolve to a piece of data in the subject. A wing is thus a resolution path into the subject.
13A limb is used to resolve to a piece of data in the subject. A wing is thus a resolution path into the subject.
14
14
15−## [Wings](./docs/reference/hoon-expressions/limb/wing.md)
15+## [Wings](@/docs/reference/hoon-expressions/limb/wing.md)
16
16
17In Hoon we use 'wings' to extract information from the subject. A wing is a list of limbs (including a trivial list of one limb).
17In Hoon we use 'wings' to extract information from the subject. A wing is a list of limbs (including a trivial list of one limb).
reference/hoon-expressions/rune/_index.md+15−15
@@ -8,64 +8,64 @@ Runes are a way to form expressions in Hoon.
8
8
9## Non-Rune Expressions
9## Non-Rune Expressions
10
10
11−### [Constants](./docs/reference/hoon-expressions/rune/constants.md)
11+### [Constants](@/docs/reference/hoon-expressions/rune/constants.md)
12
12
13Hoon uses runes to form expressions, but not all expressions have runes in them. First, we have constant expressions (and also expressions that would be constant, but that they allow for interpolations).
13Hoon uses runes to form expressions, but not all expressions have runes in them. First, we have constant expressions (and also expressions that would be constant, but that they allow for interpolations).
14
14
15−### [Limbs and Wings](./docs/reference/hoon-expressions/limb/_index.md)
15+### [Limbs and Wings](@/docs/reference/hoon-expressions/limb/_index.md)
16
16
17Limb and wing expressions also lack runes.
17Limb and wing expressions also lack runes.
18
18
19## Runes Proper
19## Runes Proper
20
20
21−### [`. dot` (Nock)](./docs/reference/hoon-expressions/rune/dot.md)
21+### [`. dot` (Nock)](@/docs/reference/hoon-expressions/rune/dot.md)
22
22
23Runes used for carrying out Nock operations in Hoon.
23Runes used for carrying out Nock operations in Hoon.
24
24
25−### [`! zap` (wild)](./docs/reference/hoon-expressions/rune/zap.md)
25+### [`! zap` (wild)](@/docs/reference/hoon-expressions/rune/zap.md)
26
26
27Wildcard category. Expressions that don't fit anywhere else go here.
27Wildcard category. Expressions that don't fit anywhere else go here.
28
28
29−### [`= tis` (Subject Modification)](./docs/reference/hoon-expressions/rune/tis.md)
29+### [`= tis` (Subject Modification)](@/docs/reference/hoon-expressions/rune/tis.md)
30
30
31Runes used to modify the subject.
31Runes used to modify the subject.
32
32
33−### [`? wut` (Conditionals)](./docs/reference/hoon-expressions/rune/wut.md)
33+### [`? wut` (Conditionals)](@/docs/reference/hoon-expressions/rune/wut.md)
34
34
35Runes used for branching on conditionals.
35Runes used for branching on conditionals.
36
36
37−### [`| bar` (Cores)](./docs/reference/hoon-expressions/rune/bar.md)
37+### [`| bar` (Cores)](@/docs/reference/hoon-expressions/rune/bar.md)
38
38
39Runes used to produce cores.
39Runes used to produce cores.
40
40
41−### [`+ lus` (Arms)](./docs/reference/hoon-expressions/rune/lus.md)
41+### [`+ lus` (Arms)](@/docs/reference/hoon-expressions/rune/lus.md)
42
42
43Runes used to define arms in a core.
43Runes used to define arms in a core.
44
44
45−### [`: col` (Cells)](./docs/reference/hoon-expressions/rune/col.md)
45+### [`: col` (Cells)](@/docs/reference/hoon-expressions/rune/col.md)
46
46
47Runes used to produce cells, which are pairs of nouns.
47Runes used to produce cells, which are pairs of nouns.
48
48
49−### [`% cen` (Calls)](./docs/reference/hoon-expressions/rune/cen.md)
49+### [`% cen` (Calls)](@/docs/reference/hoon-expressions/rune/cen.md)
50
50
51Runes used for making function calls in Hoon.
51Runes used for making function calls in Hoon.
52
52
53−### [`^ ket` (Casts)](./docs/reference/hoon-expressions/rune/ket.md)
53+### [`^ ket` (Casts)](@/docs/reference/hoon-expressions/rune/ket.md)
54
54
55Runes that let us adjust types without violating type constraints.
55Runes that let us adjust types without violating type constraints.
56
56
57−### [`$ buc` (Structures)](./docs/reference/hoon-expressions/rune/buc.md)
57+### [`$ buc` (Structures)](@/docs/reference/hoon-expressions/rune/buc.md)
58
58
59Runes used for defining custom types.
59Runes used for defining custom types.
60
60
61−### [`; mic` (Make)](./docs/reference/hoon-expressions/rune/mic.md)
61+### [`; mic` (Make)](@/docs/reference/hoon-expressions/rune/mic.md)
62
62
63Miscellaneous useful macros.
63Miscellaneous useful macros.
64
64
65−### [`~ sig` (Hints)](./docs/reference/hoon-expressions/rune/sig.md)
65+### [`~ sig` (Hints)](@/docs/reference/hoon-expressions/rune/sig.md)
66
66
67Runes that use Nock `11` to pass non-semantic info to the interpreter.
67Runes that use Nock `11` to pass non-semantic info to the interpreter.
68
68
69−### [`--`, `==` (Terminators)](./docs/reference/hoon-expressions/rune/terminators.md)
69+### [`--`, `==` (Terminators)](@/docs/reference/hoon-expressions/rune/terminators.md)
70
70
71Runes used to terminate expressions.
71Runes used to terminate expressions.
reference/hoon-expressions/rune/bar.md+6−6
@@ -163,7 +163,7 @@ A trivial core:
163101
163101
164```
164```
165
165
166−### "barcol"
166+### |: "barcol"
167
167
168Produce a gate with a custom sample.
168Produce a gate with a custom sample.
169
169
@@ -424,7 +424,7 @@ A `|~` expression produces an iron gate. `a` defines the sample, and `b` define
424
424
425##### Discussion
425##### Discussion
426
426
427−See [this discussion of core variance models](./docs/reference/hoon-expressions/advanced.md)
427+See [this discussion of core variance models](@/docs/reference/hoon-expressions/advanced.md)
428
428
429##### Examples
429##### Examples
430
430
@@ -478,7 +478,7 @@ you know what you're doing.
478Just as with a [gate](#bartis), we can recurse back into a wet gate
478Just as with a [gate](#bartis), we can recurse back into a wet gate
479with `$()`.
479with `$()`.
480
480
481−> `$(...)` expands to `%=($ ...)` (["centis"](./docs/reference/hoon-expressions/rune/cen.md#centis)).
481+> `$(...)` expands to `%=($ ...)` (["centis"](@/docs/reference/hoon-expressions/rune/cen.md#centis)).
482
482
483##### Examples
483##### Examples
484
484
@@ -537,7 +537,7 @@ Dry gates are used for the vast majority of ordinary functions in Hoon.
537
537
538A gate is a core with one arm named `$`, so we can recurse back into it with `$()`.
538A gate is a core with one arm named `$`, so we can recurse back into it with `$()`.
539
539
540−> `$(...)` expands to `%=($ ...)` (["centis"](./docs/reference/hoon-expressions/rune/cen.md#centis)).
540+> `$(...)` expands to `%=($ ...)` (["centis"](@/docs/reference/hoon-expressions/rune/cen.md#centis)).
541
541
542##### Examples
542##### Examples
543
543
@@ -590,7 +590,7 @@ A `|@` expression produces a 'wet' core whose payload is the expression's subjec
590
590
591##### Discussion
591##### Discussion
592
592
593−The `|@` rune is just like the `|%` rune except that instead of producing a 'dry' core, it produces a 'wet' one. This allows for type polymorphism of its arms, using 'genericity'. See [Advanced types](./docs/reference/hoon-expressions/advanced.md).
593+The `|@` rune is just like the `|%` rune except that instead of producing a 'dry' core, it produces a 'wet' one. This allows for type polymorphism of its arms, using 'genericity'. See [Advanced types](@/docs/reference/hoon-expressions/advanced.md).
594
594
595### |? "barwut"
595### |? "barwut"
596
596
@@ -622,7 +622,7 @@ A `|?` expression produces a lead trap (i.e., a lead core with one arm named `$`
622
622
623##### Discussion
623##### Discussion
624
624
625−See this [discussion of the core variance model](./docs/reference/hoon-expressions/advanced.md).
625+See this [discussion of the core variance model](@/docs/reference/hoon-expressions/advanced.md).
626
626
627##### Examples
627##### Examples
628
628
reference/hoon-expressions/rune/buc.md+2−2
@@ -118,7 +118,7 @@ be an infinite loop!
118[%foo p=0 q=0]~
118[%foo p=0 q=0]~
119```
119```
120
120
121−### "buccol"
121+### $: "buccol"
122
122
123`[%bscl p=(list spec)]`: form a cell type.
123`[%bscl p=(list spec)]`: form a cell type.
124
124
@@ -238,7 +238,7 @@ $~ p=hoon q=spec
238
238
239##### Discussion
239##### Discussion
240
240
241−You should make sure that the product type of `p` nests under `q`. You can check the default value of some structure (custom type) `r` with `*r`. (See the [`^*` rune](./docs/reference/hoon-expressions/rune/ket.md#kettar).)
241+You should make sure that the product type of `p` nests under `q`. You can check the default value of some structure (custom type) `r` with `*r`. (See the [`^*` rune](@/docs/reference/hoon-expressions/rune/ket.md#kettar).)
242
242
243Do not confuse the `$~` rune with the constant type for null, `$~`. (The latter uses older Hoon syntax that is still accepted. Preferably it would be `%~`.)
243Do not confuse the `$~` rune with the constant type for null, `$~`. (The latter uses older Hoon syntax that is still accepted. Preferably it would be `%~`.)
244
244
reference/hoon-expressions/rune/cen.md+7−7
@@ -5,7 +5,7 @@ template = "doc.html"
5+++
5+++
6The `%` family of runes is used for making 'function calls' in Hoon. To be more precise, these runes evaluate the `$` arm in cores, usually after modifying the sample. (The default sample is replaced with the input values given in the call.)
6The `%` family of runes is used for making 'function calls' in Hoon. To be more precise, these runes evaluate the `$` arm in cores, usually after modifying the sample. (The default sample is replaced with the input values given in the call.)
7
7
8−These runes reduce to the `%=` rune
8+These runes reduce to the `%=` rune.
9
9
10## Runes
10## Runes
11
11
@@ -52,7 +52,7 @@ A `%_` expression resolves to the value of the subject at wing `a`, but modified
52
52
53`%_` is different from `%=` because `%=` can change the type of a wing with mutations. `%_` preserves the wing type.
53`%_` is different from `%=` because `%=` can change the type of a wing with mutations. `%_` preserves the wing type.
54
54
55−See [how wings are resolved](./docs/reference/hoon-expressions/limb/_index.md).
55+See [how wings are resolved](@/docs/reference/hoon-expressions/limb/_index.md).
56
56
57##### Examples
57##### Examples
58
58
@@ -72,7 +72,7 @@ See [how wings are resolved](./docs/reference/hoon-expressions/limb/_index.md).
72! nest-fail
72! nest-fail
73```
73```
74
74
75−### "cencol"
75+### %: "cencol"
76
76
77Call a gate with many arguments.
77Call a gate with many arguments.
78
78
@@ -167,7 +167,7 @@ The `%.` rune is for evaluating the `$` arm of a gate, i.e., calling a function.
1676
1676
168```
168```
169
169
170−### %- "cenhep"
170+### %- "cenhep" {#cenhep}
171
171
172Call a gate (function).
172Call a gate (function).
173
173
@@ -203,8 +203,8 @@ This rune is for evaluating the `$` arm of a gate, i.e., calling a gate as a fun
203
203
204##### Discussion
204##### Discussion
205
205
206−`%-` is used to call a function; `a` is the function ([`gate`](./docs/reference/hoon-expressions/rune/bar.md#bartis),
206+`%-` is used to call a function; `a` is the function ([`gate`](@/docs/reference/hoon-expressions/rune/bar.md#bartis),
207−`q` the argument. `%-` is a special case of [`%~` ("censig")](#censig), and a gate is a special case of a [door](./docs/reference/hoon-expressions/rune/bar.md#barcab).
207+`q` the argument. `%-` is a special case of [`%~` ("censig")](#censig), and a gate is a special case of a [door](@/docs/reference/hoon-expressions/rune/bar.md#barcab).
208
208
209##### Examples
209##### Examples
210
210
@@ -323,7 +323,7 @@ A `%~` expression evaluates the arm of a door (i.e., a core with a sample). `a`
323
323
324`%~` is the general case of a function call, `%-`. In both, we replace the sample (`+6`) of a core. In `%-` the core is a gate and the `$` arm is evaluated. In `%~` the core is a door and any arm may be evaluated. You must identify the arm to be run: `%~(arm door arg)`.
324`%~` is the general case of a function call, `%-`. In both, we replace the sample (`+6`) of a core. In `%-` the core is a gate and the `$` arm is evaluated. In `%~` the core is a door and any arm may be evaluated. You must identify the arm to be run: `%~(arm door arg)`.
325
325
326−See also [`|_`](./docs/reference/hoon-expressions/rune/bar.md#barcab).
326+See also [`|_`](@/docs/reference/hoon-expressions/rune/bar.md#barcab).
327
327
328##### Examples
328##### Examples
329
329
reference/hoon-expressions/rune/col.md+1−1
@@ -28,7 +28,7 @@ Regular: **2-fixed**.
28[2 1]
28[2 1]
29```
29```
30
30
31−### "colcol"
31+### :: "colcol"
32
32
33Code comment
33Code comment
34
34
reference/hoon-expressions/rune/constants.md+1−1
@@ -121,7 +121,7 @@ String with interpolated prettyprinting:
121"hello, %world."
121"hello, %world."
122```
122```
123
123
124−### `:_ "Warm Atoms"`
124+### `:_ "Warm Atoms"` {#warm}
125
125
126`[%sand p=term q=@]`; a constant, warm atom.
126`[%sand p=term q=@]`; a constant, warm atom.
127
127
reference/hoon-expressions/rune/dot.md+1−1
@@ -155,7 +155,7 @@ therefore possible to use Hoon as a typeless language.
1551
1551
156```
156```
157
157
158−### .= "dottis"
158+### .= "dottis" {#dottis}
159
159
160`[%dtts p=hoon q=hoon]`: test for equality with Nock `5`.
160`[%dtts p=hoon q=hoon]`: test for equality with Nock `5`.
161
161
reference/hoon-expressions/rune/ket.md+2−2
@@ -48,7 +48,7 @@ The prettyprinter shows the core metal (`.` gold, `|` iron):
48<1|gcq [@ @n <250.yur 41.wda 374.hzt 100.kzl 1.ypj %151>]>
48<1|gcq [@ @n <250.yur 41.wda 374.hzt 100.kzl 1.ypj %151>]>
49```
49```
50
50
51−### "ketcol"
51+### ^: "ketcol"
52
52
53`[%ktcl p=spec]`: 'factory' gate for type `p`.
53`[%ktcl p=spec]`: 'factory' gate for type `p`.
54
54
@@ -202,7 +202,7 @@ Regular: **1-fixed**.
202
202
203##### Discussion
203##### Discussion
204
204
205−A zinc core has a read-only sample and an opaque context. See [Advanced types](./docs/reference/hoon-expressions/advanced.md).
205+A zinc core has a read-only sample and an opaque context. See [Advanced types](@/docs/reference/hoon-expressions/advanced.md).
206
206
207##### Examples
207##### Examples
208
208
reference/hoon-expressions/rune/mic.md+4−4
@@ -8,7 +8,7 @@ Miscellaneous useful macros.
8
8
9## Runes
9## Runes
10
10
11−### "miccol"
11+### ;: "miccol"
12
12
13`[%mccl p=hoon q=(list hoon)]`: call a binary function as an n-ary function.
13`[%mccl p=hoon q=(list hoon)]`: call a binary function as an n-ary function.
14
14
@@ -80,7 +80,7 @@ A `marl`, i.e., a list of `manx`. A `manx` is a noun that represents a single X
80
80
81tl;dr -- `;+` converts a `manx` to a `marl`.
81tl;dr -- `;+` converts a `manx` to a `marl`.
82
82
83−`;+` is a Sail rune. Sail is a part of Hoon used for creating and operating on nouns that represent XML nodes. With the appropriate rendering pipeline, a Sail document can be used to generate a static website. See the [Sail tutorial](./docs/using/sail-and-udon.md).
83+`;+` is a Sail rune. Sail is a part of Hoon used for creating and operating on nouns that represent XML nodes. With the appropriate rendering pipeline, a Sail document can be used to generate a static website. See the [Sail tutorial](@/docs/using/sail-and-udon.md).
84
84
85In Sail a single XML node is represented by a `manx`. A single `<p>` node `manx` can be produced in the following way:
85In Sail a single XML node is represented by a `manx`. A single `<p>` node `manx` can be produced in the following way:
86
86
@@ -294,7 +294,7 @@ A `marl`, i.e., a list of `manx`. A `manx` is a noun that represents a single X
294
294
295##### Discussion
295##### Discussion
296
296
297−`;*` is a Sail rune. Sail is a part of Hoon used for creating and operating on nouns that represent XML nodes. With the appropriate rendering pipeline, a Sail document can be used to generate a static website. See the [Sail tutorial](./docs/using/sail-and-udon.md).
297+`;*` is a Sail rune. Sail is a part of Hoon used for creating and operating on nouns that represent XML nodes. With the appropriate rendering pipeline, a Sail document can be used to generate a static website. See the [Sail tutorial](@/docs/using/sail-and-udon.md).
298
298
299If you need a complex Hoon expression to produce a `marl`, use the `;*` rune. Often this rune is used with an expression, `p`, that includes one or more `;=` subexpressions.
299If you need a complex Hoon expression to produce a `marl`, use the `;*` rune. Often this rune is used with an expression, `p`, that includes one or more `;=` subexpressions.
300
300
@@ -346,7 +346,7 @@ A `marl`, i.e., a list of `manx`. A `manx` is a noun that represents a single X
346
346
347##### Discussion
347##### Discussion
348
348
349−`;=` is a Sail rune. Sail is a part of Hoon used for creating and operating on nouns that represent XML nodes. With the appropriate rendering pipeline, a Sail document can be used to generate a static website. See the [Sail tutorial](./docs/using/sail-and-udon.md).
349+`;=` is a Sail rune. Sail is a part of Hoon used for creating and operating on nouns that represent XML nodes. With the appropriate rendering pipeline, a Sail document can be used to generate a static website. See the [Sail tutorial](@/docs/using/sail-and-udon.md).
350
350
351In Sail a single XML node is represented by a `manx`. A single `<p>` node `manx` can be produced in the following way:
351In Sail a single XML node is represented by a `manx`. A single `<p>` node `manx` can be produced in the following way:
352
352
reference/hoon-expressions/rune/tis.md+2−2
@@ -77,7 +77,7 @@ Speaking more loosely, `=|` usually "declares a variable" which is "uninitialize
777
777
78```
78```
79
79
80−### "tiscol"
80+### =: "tiscol"
81
81
82`[%tscl p=(list (pair wing hoon)) q=hoon]`: change multiple legs in the subject.
82`[%tscl p=(list (pair wing hoon)) q=hoon]`: change multiple legs in the subject.
83
83
@@ -158,7 +158,7 @@ Regular: **3-fixed**.
158##### Discussion
158##### Discussion
159
159
160Technically the `=.` rune doesn't change the subject. It creates
160Technically the `=.` rune doesn't change the subject. It creates
161−a new subject just like the old one except for a changed value at `p`. Note that the mutation uses [`%_` ("cencab")](./docs/reference/hoon-expressions/rune/cen.md#cencab), so the type at `p` doesn't change. Trying to change the value type results in a `nest-fail`.
161+a new subject just like the old one except for a changed value at `p`. Note that the mutation uses [`%_` ("cencab")](@/docs/reference/hoon-expressions/rune/cen.md#cencab), so the type at `p` doesn't change. Trying to change the value type results in a `nest-fail`.
162
162
163##### Examples
163##### Examples
164
164
reference/hoon-expressions/rune/wut.md+2−2
@@ -21,7 +21,7 @@ for expressions which expand to `?:`.
21The test does not have to be a single `?=`; the compiler can
21The test does not have to be a single `?=`; the compiler can
22analyze arbitrary boolean logic ([`?&` ("wutpam")](#wutpam),
22analyze arbitrary boolean logic ([`?&` ("wutpam")](#wutpam),
23[`?|` ("wutbar")](#wutbar), [`?!` ("wutzap")](#wutzap)) with full
23[`?|` ("wutbar")](#wutbar), [`?!` ("wutzap")](#wutzap)) with full
24−short-circuiting. Equality tests ([`.=` ("dottis")](./docs/reference/hoon-expressions/rune/dot.md#tis)) are **not**
24+short-circuiting. Equality tests ([`.=` ("dottis")](@/docs/reference/hoon-expressions/rune/dot.md#dottis)) are **not**
25analyzed.
25analyzed.
26
26
27If the compiler detects that the branch is degenerate (only one
27If the compiler detects that the branch is degenerate (only one
@@ -106,7 +106,7 @@ Irregular: `|(foo bar baz)` is `?|(foo bar baz)`.
106%.n
106%.n
107```
107```
108
108
109−### "wutcol"
109+### ?: "wutcol" {#wutcol}
110
110
111`[%wtcl p=hoon q=hoon r=hoon]`: branch on a boolean test.
111`[%wtcl p=hoon q=hoon r=hoon]`: branch on a boolean test.
112
112
reference/hoon-expressions/rune/zap.md+1−1
@@ -35,7 +35,7 @@ If you want just the type value, use a 'type spear'. This is `-:!>`, i.e., the
35#t/@ud
35#t/@ud
36```
36```
37
37
38−### "zapcol"
38+### !: "zapcol"
39
39
40`[%dbug p=hoon]`: turn on stack trace
40`[%dbug p=hoon]`: turn on stack trace
41
41
reference/library/1b.md+1−1
@@ -3,7 +3,7 @@ title = "1b: Tree Addressing"
3weight = 2
3weight = 2
4template = "doc.html"
4template = "doc.html"
5+++
5+++
6−Check out the Nock [explanation](./docs/learn/nock/_index.md) for more
6+Check out the Nock [explanation](@/docs/learn/nock/_index.md) for more
7information on the tree-addressing system.
7information on the tree-addressing system.
8
8
9### `++cap`
9### `++cap`
reference/library/1c.md+1−1
@@ -62,7 +62,7 @@ A `bloq` of 3 has a bitwidth of 8. (2^3 bits; can represent 256 values.)
62
62
63And so on.
63And so on.
64
64
65−See the [bit arithmetic](./docs/reference/library/2c.md) section for operations that use `bloq`s.
65+See the [bit arithmetic](@/docs/reference/library/2c.md) section for operations that use `bloq`s.
66
66
67---
67---
68
68
reference/library/2c.md+14−14
@@ -52,7 +52,7 @@ value.
52
52
53#### Accepts
53#### Accepts
54
54
55−`a` is a block size (see [`++bloq`](./docs/reference/library/1c.md)).
55+`a` is a block size (see [`++bloq`](@/docs/reference/library/1c.md)).
56
56
57`b` is a `list` of length-value pairs, `p` and `q`.
57`b` is a `list` of length-value pairs, `p` and `q`.
58
58
@@ -109,7 +109,7 @@ atom.
109
109
110#### Accepts
110#### Accepts
111
111
112−`a` is a block size (see [`++bloq`](./docs/reference/library/1c.md)).
112+`a` is a block size (see [`++bloq`](@/docs/reference/library/1c.md)).
113
113
114`b` is an atom.
114`b` is an atom.
115
115
@@ -172,7 +172,7 @@ Slices `c` blocks of size `a` that are positioned `b` blocks from the end of
172
172
173#### Accepts
173#### Accepts
174
174
175−`a` is a block size (see [`++bloq`](./docs/reference/library/1c.md)).
175+`a` is a block size (see [`++bloq`](@/docs/reference/library/1c.md)).
176
176
177`b` is an atom.
177`b` is an atom.
178
178
@@ -231,7 +231,7 @@ Produces an atom by taking the last `b` blocks of size `a` from `c`.
231
231
232#### Accepts
232#### Accepts
233
233
234−`a` is a block size (see [`++bloq`](./docs/reference/library/1c.md)).
234+`a` is a block size (see [`++bloq`](@/docs/reference/library/1c.md)).
235
235
236`b` is an atom.
236`b` is an atom.
237
237
@@ -298,7 +298,7 @@ Produces an atom by repeating `c` for `b` blocks of size `a`.
298
298
299#### Accepts
299#### Accepts
300
300
301−`a` is a block size (see [`++bloq`](./docs/reference/library/1c.md)).
301+`a` is a block size (see [`++bloq`](@/docs/reference/library/1c.md)).
302
302
303`b` is an atom.
303`b` is an atom.
304
304
@@ -350,7 +350,7 @@ Produces an atom by left-shifting `c` by `b` blocks of size `a`.
350
350
351#### Accepts
351#### Accepts
352
352
353−`a` is a block size (see [`++bloq`](./docs/reference/library/1c.md)).
353+`a` is a block size (see [`++bloq`](@/docs/reference/library/1c.md)).
354
354
355`b` is an atom.
355`b` is an atom.
356
356
@@ -401,7 +401,7 @@ Computes the number of blocks of size `a` in `b`, producing an atom.
401
401
402#### Accepts
402#### Accepts
403
403
404−`a` is a block size (see [`++bloq`](./docs/reference/library/1c.md)).
404+`a` is a block size (see [`++bloq`](@/docs/reference/library/1c.md)).
405
405
406`b` is an atom.
406`b` is an atom.
407
407
@@ -447,7 +447,7 @@ Concatenates a list of atoms `b` using block size `a`, producing an atom.
447
447
448#### Accepts
448#### Accepts
449
449
450−`a` is a block size (see [`++bloq`](./docs/reference/library/1c.md)).
450+`a` is a block size (see [`++bloq`](@/docs/reference/library/1c.md)).
451
451
452`b` is a `list` of atoms.
452`b` is a `list` of atoms.
453
453
@@ -508,7 +508,7 @@ Produces an atom by assembling a list of atoms `b` using block size `a`.
508
508
509#### Accepts
509#### Accepts
510
510
511−`a` is a block size (see [`++bloq`](./docs/reference/library/1c.md)).
511+`a` is a block size (see [`++bloq`](@/docs/reference/library/1c.md)).
512
512
513`b` is a list of atoms.
513`b` is a list of atoms.
514
514
@@ -573,7 +573,7 @@ Produces a list of atoms from the bits of `b` using block size `a`.
573
573
574#### Accepts
574#### Accepts
575
575
576−`a` is a block size (see [`++bloq`](./docs/reference/library/1c.md)).
576+`a` is a block size (see [`++bloq`](@/docs/reference/library/1c.md)).
577
577
578`b` is an atom.
578`b` is an atom.
579
579
@@ -633,7 +633,7 @@ Right-shifts `c` by `b` blocks of size `a`, producing an atom.
633
633
634#### Accepts
634#### Accepts
635
635
636−`a` is a block size (see [`++bloq`](./docs/reference/library/1c.md)).
636+`a` is a block size (see [`++bloq`](@/docs/reference/library/1c.md)).
637
637
638`b` is an atom.
638`b` is an atom.
639
639
@@ -701,7 +701,7 @@ reversing the block order of `b` using block size `a`.
701
701
702#### Accepts
702#### Accepts
703
703
704−`a` is a block size (see [`++bloq`](./docs/reference/library/1c.md)).
704+`a` is a block size (see [`++bloq`](@/docs/reference/library/1c.md)).
705
705
706`b` is an atom.
706`b` is an atom.
707
707
@@ -861,7 +861,7 @@ Inverts the order of the modular field.
861
861
862#### Accepts
862#### Accepts
863
863
864−`b` is a `bloq`. (see [`++bloq`](./docs/reference/library/1c.md))
864+`b` is a `bloq`. (see [`++bloq`](@/docs/reference/library/1c.md))
865
865
866#### Produces
866#### Produces
867
867
@@ -904,7 +904,7 @@ Reverses bytes within a block.
904
904
905#### Accepts
905#### Accepts
906
906
907−`b` is a `bloq`. (see [`++bloq`](./docs/reference/library/1c.md))
907+`b` is a `bloq`. (see [`++bloq`](@/docs/reference/library/1c.md))
908
908
909#### Produces
909#### Produces
910
910
reference/library/2d.md+2−2
@@ -280,7 +280,7 @@ of `c`.
280
280
281#### Accepts
281#### Accepts
282
282
283−`a` is a block size (see [`bloq`](./docs/reference/library/1c.md)).
283+`a` is a block size (see [`bloq`](@/docs/reference/library/1c.md)).
284
284
285`b` is an atom.
285`b` is an atom.
286
286
@@ -326,7 +326,7 @@ number's `0`s into `1`s, and vice versa.
326
326
327In Hoon, we ask for a little more information to use `not`, because binary
327In Hoon, we ask for a little more information to use `not`, because binary
328numbers have a number of implicit leading zeroes differently depending on on
328numbers have a number of implicit leading zeroes differently depending on on
329−their [block size](./docs/reference/library/1c.md). Decimal `7`, for example, is `0b111` in binary, and
329+their [block size](@/docs/reference/library/1c.md). Decimal `7`, for example, is `0b111` in binary, and
330has one implicit zero in the context of a block of size `2`, which has a
330has one implicit zero in the context of a block of size `2`, which has a
331bitwidth of 4. Let's try `not` on `7` with a single block of size `2`.
331bitwidth of 4. Let's try `not` on `7` with a single block of size `2`.
332
332
reference/library/2e.md+2−2
@@ -8,7 +8,7 @@ template = "doc.html"
8FNV scrambler
8FNV scrambler
9
9
10Hashes an atom with the 32-bit FNV non-cryptographic hash algorithm. Multiplies
10Hashes an atom with the 32-bit FNV non-cryptographic hash algorithm. Multiplies
11−`a` by the prime number 16,777,619 and then takes the [block](./docs/reference/library/2c.md) of size
11+`a` by the prime number 16,777,619 and then takes the [block](@/docs/reference/library/2c.md) of size
125 off the product's end, producing an atom.
125 off the product's end, producing an atom.
13
13
14#### Accepts
14#### Accepts
@@ -108,7 +108,7 @@ Standard MurmurHash3
108Implementation of the 32-bit
108Implementation of the 32-bit
109[MurmurHash3](https://en.wikipedia.org/wiki/MurmurHash#Algorithm)
109[MurmurHash3](https://en.wikipedia.org/wiki/MurmurHash#Algorithm)
110non-cryptographic hash algorithm. Takes `a` as the seed, `b` as the key length
110non-cryptographic hash algorithm. Takes `a` as the seed, `b` as the key length
111−in [blocks](./docs/reference/library/2c.md) of size 3, and `c` as the key, producing an atom.
111+in [blocks](@/docs/reference/library/2c.md) of size 3, and `c` as the key, producing an atom.
112
112
113#### Accepts
113#### Accepts
114
114
reference/library/2f.md+4−4
@@ -130,7 +130,7 @@ A flag.
130
130
131#### Discussion
131#### Discussion
132
132
133−If `a` and `b` are both atoms, `dor` is equivalent to [`lte`](./docs/reference/library/1a.md). If they're
133+If `a` and `b` are both atoms, `dor` is equivalent to [`lte`](@/docs/reference/library/1a.md). If they're
134cells, `dor` recurses on the heads, and then if the heads are the same it checks
134cells, `dor` recurses on the heads, and then if the heads are the same it checks
135the tails.
135the tails.
136
136
@@ -147,7 +147,7 @@ Computes whether of `(mug a)` and `(mug b)` are in ascending numeric order,
147producing a flag. If the `mug` hashes are equal, `a` and `b` are compared by
147producing a flag. If the `mug` hashes are equal, `a` and `b` are compared by
148`dor` instead.
148`dor` instead.
149
149
150−[`mug`](./docs/reference/library/2e.md) is the the 31-bit nonzero FNV-1a hash algorithm.
150+[`mug`](@/docs/reference/library/2e.md) is the the 31-bit nonzero FNV-1a hash algorithm.
151
151
152#### Accepts
152#### Accepts
153
153
@@ -296,7 +296,7 @@ A flag.
296#### Discussion
296#### Discussion
297
297
298Sets (+set, +in) use `hor` for their horizontal order and `vor` for their
298Sets (+set, +in) use `hor` for their horizontal order and `vor` for their
299−vertical order. See [`apt:in`](./docs/reference/library/2h.md) to see how a set verifies its correctness.
299+vertical order. See [`apt:in`](@/docs/reference/library/2h.md) to see how a set verifies its correctness.
300`vor` is used to verify.
300`vor` is used to verify.
301
301
302---
302---
@@ -377,7 +377,7 @@ Computes whether the double-hashes `(mug (mug a))` and `(mug (mug b))` are in
377ascending numeric order, producing a flag. If the double-`mug` hashes are
377ascending numeric order, producing a flag. If the double-`mug` hashes are
378equal, `a` and `b` are compared by `dor` instead.
378equal, `a` and `b` are compared by `dor` instead.
379
379
380−[`mug`](./docs/reference/library/2e.md) is the the 31-bit nonzero FNV-1a hash algorithm.
380+[`mug`](@/docs/reference/library/2e.md) is the the 31-bit nonzero FNV-1a hash algorithm.
381
381
382
382
383#### Accepts
383#### Accepts
reference/library/2h.md+2−2
@@ -163,7 +163,7 @@ A flag.
163
163
164#### Discussion
164#### Discussion
165
165
166−See section [`2f`](./docs/reference/library/2f.md) for more information on noun ordering.
166+See section [`2f`](@/docs/reference/library/2f.md) for more information on noun ordering.
167
167
168---
168---
169### `+-bif:in`
169### `+-bif:in`
@@ -382,7 +382,7 @@ The `unit` of an atom.
382
382
383#### Discussion
383#### Discussion
384
384
385−For more on the tree addressing system, see section [1b](./docs/reference/library/1b.md).
385+For more on the tree addressing system, see section [1b](@/docs/reference/library/1b.md).
386
386
387---
387---
388### `+-gas:in`
388### `+-gas:in`
reference/library/2i.md+1−1
@@ -175,7 +175,7 @@ A flag.
175
175
176#### Discussion
176#### Discussion
177
177
178−See section [`2f`](./docs/reference/library/2f.md) for more information on noun ordering.
178+See section [`2f`](@/docs/reference/library/2f.md) for more information on noun ordering.
179
179
180### `+-bif:by`
180### `+-bif:by`
181
181
reference/library/2o.md+5−5
@@ -37,7 +37,7 @@ Mold generator. A `jar` is a `map` of `list`.
37
37
38#### Discussion
38#### Discussion
39
39
40−See also: [`ja`](./docs/reference/library/2j.md), [`by`](./docs/reference/library/2i.md), [`map`](./docs/reference/library/2i.md), [`list`](./docs/reference/library/2b.md)
40+See also: [`ja`](@/docs/reference/library/2j.md), [`by`](@/docs/reference/library/2i.md), [`map`](@/docs/reference/library/2i.md), [`list`](@/docs/reference/library/2b.md)
41
41
42---
42---
43### `++jug`
43### `++jug`
@@ -77,7 +77,7 @@ Mold generator. A `jug` is a `map` of `set`.
77
77
78#### Discussion
78#### Discussion
79
79
80−See also: [`ja`](./docs/reference/library/2j.md), [`by`](./docs/reference/library/2i.md), [`set`](./docs/reference/library/2h.md)
80+See also: [`ja`](@/docs/reference/library/2j.md), [`by`](@/docs/reference/library/2i.md), [`set`](@/docs/reference/library/2h.md)
81
81
82---
82---
83### `++map`
83### `++map`
@@ -110,7 +110,7 @@ key-value pairs.
110
110
111#### Discussion
111#### Discussion
112
112
113−See also: [`by`](./docs/reference/library/2i.md)
113+See also: [`by`](@/docs/reference/library/2i.md)
114
114
115---
115---
116### `++qeu`
116### `++qeu`
@@ -147,7 +147,7 @@ items.
147
147
148#### Discussion
148#### Discussion
149
149
150−See also: [`qeu`](./docs/reference/library/2k.md)
150+See also: [`qeu`](@/docs/reference/library/2k.md)
151
151
152---
152---
153### `++set`
153### `++set`
@@ -181,6 +181,6 @@ items.
181
181
182#### Discussion
182#### Discussion
183
183
184−See also: [`in`](./docs/reference/library/2h.md)
184+See also: [`in`](@/docs/reference/library/2h.md)
185
185
186---
186---
reference/library/2q.md+2−2
@@ -65,7 +65,7 @@ atom of UTF-8 text.
65Aura `@t` designates a Unicode atom, little-endian: the first character
65Aura `@t` designates a Unicode atom, little-endian: the first character
66in the text is the least-significant byte.
66in the text is the least-significant byte.
67
67
68−[`trip`](./docs/reference/library/4b.md) converts from `cord` to `tape`, and [`crip`](./docs/reference/library/4b.md) converts
68+[`trip`](@/docs/reference/library/4b.md) converts from `cord` to `tape`, and [`crip`](@/docs/reference/library/4b.md) converts
69from `tape` to `cord`.
69from `tape` to `cord`.
70
70
71
71
@@ -100,7 +100,7 @@ which is a day atom and a time.
100
100
101#### Discussion
101#### Discussion
102
102
103−See also: [`year`](./docs/reference/library/3c.md), [`yore`](./docs/reference/library/3c.md)
103+See also: [`year`](@/docs/reference/library/3c.md), [`yore`](@/docs/reference/library/3c.md)
104
104
105---
105---
106### `++knot`
106### `++knot`
reference/library/3d.md+2−2
@@ -37,7 +37,7 @@ An atom.
37
37
38Half SHA-256
38Half SHA-256
39
39
40−Produces a 128-bit atom by performing the [bitwise XOR](./docs/reference/library/2d.md) on the
40+Produces a 128-bit atom by performing the [bitwise XOR](@/docs/reference/library/2d.md) on the
41first and last halves of the 256-bit salted hash `shas`.
41first and last halves of the 256-bit salted hash `shas`.
42
42
43#### Accepts
43#### Accepts
@@ -362,7 +362,7 @@ SHA-1 is a deprecated function; it is not considered secure.
362
362
363Salted hash
363Salted hash
364
364
365−Produces an atom by using SHA-256 plus a salt input. The [bitwise XOR](./docs/reference/library/2d.md)
365+Produces an atom by using SHA-256 plus a salt input. The [bitwise XOR](@/docs/reference/library/2d.md)
366is performed on `sal` and the product of `ruz` hashed with SHA-256. The product
366is performed on `sal` and the product of `ruz` hashed with SHA-256. The product
367of that logical operation is then itself hashed with SHA-256.
367of that logical operation is then itself hashed with SHA-256.
368
368
reference/library/3f.md+3−3
@@ -609,7 +609,7 @@ An atom.
609
609
610Reverse Feistel-like cipher
610Reverse Feistel-like cipher
611
611
612−A single round of the Feistel-like cipher `fice`. AES ([`aesc`](./docs/reference/library/3f.md)) is
612+A single round of the Feistel-like cipher `fice`. AES ([`aesc`](@/docs/reference/library/3f.md)) is
613used as the round function. The inverse of `rund`.
613used as the round function. The inverse of `rund`.
614
614
615#### Accepts
615#### Accepts
@@ -651,7 +651,7 @@ A cell of two atoms.
651
651
652Reverse single Feistel-like
652Reverse single Feistel-like
653
653
654−A single round of the Feistel-like reverse cipher `teil`. AES ([`aesc`](./docs/reference/library/3f.md))
654+A single round of the Feistel-like reverse cipher `teil`. AES ([`aesc`](@/docs/reference/library/3f.md))
655is used as the round function. The inverse of `rynd`.
655is used as the round function. The inverse of `rynd`.
656
656
657#### Accepts
657#### Accepts
@@ -693,7 +693,7 @@ A cell of two atoms.
693
693
694Key list
694Key list
695
695
696−Produces a list of arbitrary hexademical keys for use with [`aesc`](./docs/reference/library/3f.md).
696+Produces a list of arbitrary hexademical keys for use with [`aesc`](@/docs/reference/library/3f.md).
697
697
698#### Produces
698#### Produces
699
699
reference/library/3g.md+4−4
@@ -51,9 +51,9 @@ and printed using `++so` and `++co` cores.
51
51
52Aura-atom pair
52Aura-atom pair
53
53
54−Used in `++coin`. Convenience methods [`++scot`](./docs/reference/library/4m.md) and
54+Used in `++coin`. Convenience methods [`++scot`](@/docs/reference/library/4m.md) and
55−[`++scow`](./docs/reference/library/4m.md) print dimes as `++cord` and `++tape`, respectively.
55+[`++scow`](@/docs/reference/library/4m.md) print dimes as `++cord` and `++tape`, respectively.
56−[`++slat`](./docs/reference/library/4m.md), [`++slav`](./docs/reference/library/4m.md), and [`++slaw`](./docs/reference/library/4m.md) are used
56+[`++slat`](@/docs/reference/library/4m.md), [`++slav`](@/docs/reference/library/4m.md), and [`++slaw`](@/docs/reference/library/4m.md) are used
57to parse atoms of specific auras.
57to parse atoms of specific auras.
58
58
59#### Source
59#### Source
@@ -94,7 +94,7 @@ Optional result `p` and parsing continuation `q`.
94
94
95#### Discussion
95#### Discussion
96
96
97−See also: [Section 2e](./docs/reference/library/2e.md), `++rule`
97+See also: [Section 2e](@/docs/reference/library/2e.md), `++rule`
98
98
99
99
100---
100---
reference/library/4h.md+1−1
@@ -69,7 +69,7 @@ Parses ASCII character 124, the vertical bar.
69Parse backslash
69Parse backslash
70
70
71Parses ASCII character 92, the backslash. Note the extra `\` in the calling of
71Parses ASCII character 92, the backslash. Note the extra `\` in the calling of
72−`bas` with [`++just`](./docs/reference/library/4f.md) is to escape the escape
72+`bas` with [`++just`](@/docs/reference/library/4f.md) is to escape the escape
73character, `\`.
73character, `\`.
74
74
75#### Source
75#### Source
reference/library/_index.md+1486−1486
@@ -13,1716 +13,1716 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
13
13
14### a
14### a
15
15
16−[`++ab`](./docs/reference/library/4j.md#ab)
16+[`++ab`](@/docs/reference/library/4j.md#ab)
17−[`++abs:fl`](./docs/reference/library/3b.md#abs-fl)
17+[`++abs:fl`](@/docs/reference/library/3b.md#abs-fl)
18−[`++abs:si`](./docs/reference/library/3a.md#abs-si)
18+[`++abs:si`](@/docs/reference/library/3a.md#abs-si)
19−[`++abel`](./docs/reference/library/4o.md#abel)
19+[`++abel`](@/docs/reference/library/4o.md#abel)
20−[`++ace`](./docs/reference/library/4h.md#ace)
20+[`++ace`](@/docs/reference/library/4h.md#ace)
21−[`++add`](./docs/reference/library/1a.md#add)
21+[`++add`](@/docs/reference/library/1a.md#add)
22−[`++add:ff`](./docs/reference/library/3b.md#add-ff)
22+[`++add:ff`](@/docs/reference/library/3b.md#add-ff)
23−[`++add:fl`](./docs/reference/library/3b.md#add-fl)
23+[`++add:fl`](@/docs/reference/library/3b.md#add-fl)
24−[`+-add:ja`](./docs/reference/library/2j.md#add-ja)
24+[`+-add:ja`](@/docs/reference/library/2j.md#add-ja)
25−[`++add:rd`](./docs/reference/library/3b.md#add-rd)
25+[`++add:rd`](@/docs/reference/library/3b.md#add-rd)
26−[`++add:rh`](./docs/reference/library/3b.md#add-rh)
26+[`++add:rh`](@/docs/reference/library/3b.md#add-rh)
27−[`++add:rs`](./docs/reference/library/3b.md#add-rs)
27+[`++add:rs`](@/docs/reference/library/3b.md#add-rs)
28−[`++add:rq`](./docs/reference/library/3b.md#add-rq)
28+[`++add:rq`](@/docs/reference/library/3b.md#add-rq)
29−[`++ag`](./docs/reference/library/4j.md#ag)
29+[`++ag`](@/docs/reference/library/4j.md#ag)
30−[`++alf`](./docs/reference/library/4i.md#alf)
30+[`++alf`](@/docs/reference/library/4i.md#alf)
31−[`+-all:by`](./docs/reference/library/2i.md#all-by)
31+[`+-all:by`](@/docs/reference/library/2i.md#all-by)
32−[`+-all:in`](./docs/reference/library/2h.md#all-in)
32+[`+-all:in`](@/docs/reference/library/2h.md#all-in)
33−[`++aln`](./docs/reference/library/4i.md#aln)
33+[`++aln`](@/docs/reference/library/4i.md#aln)
34−[`++alp`](./docs/reference/library/4i.md#alp)
34+[`++alp`](@/docs/reference/library/4i.md#alp)
35−[`+-any:by`](./docs/reference/library/2i.md#any-by)
35+[`+-any:by`](@/docs/reference/library/2i.md#any-by)
36−[`+-any:in`](./docs/reference/library/2h.md#any-in)
36+[`+-any:in`](@/docs/reference/library/2h.md#any-in)
37−[`++aor`](./docs/reference/library/2f.md#aor)
37+[`++aor`](@/docs/reference/library/2f.md#aor)
38−[`++ape:ag`](./docs/reference/library/4j.md#ape-ag)
38+[`++ape:ag`](@/docs/reference/library/4j.md#ape-ag)
39−[`+-apt:by`](./docs/reference/library/2i.md#apt-by)
39+[`+-apt:by`](@/docs/reference/library/2i.md#apt-by)
40−[`+-apt:in`](./docs/reference/library/2h.md#apt-in)
40+[`+-apt:in`](@/docs/reference/library/2h.md#apt-in)
41−[`++at`](./docs/reference/library/4b.md#at)
41+[`++at`](@/docs/reference/library/4b.md#at)
42−[`++aura`](./docs/reference/library/4o.md#aura)
42+[`++aura`](@/docs/reference/library/4o.md#aura)
43−[`++axis`](./docs/reference/library/4o.md#axis)
43+[`++axis`](@/docs/reference/library/4o.md#axis)
44
44
45### b
45### b
46
46
47−[`+-bal:to`](./docs/reference/library/2k.md#bal-to)
47+[`+-bal:to`](@/docs/reference/library/2k.md#bal-to)
48−[`++bar`](./docs/reference/library/4h.md#bar)
48+[`++bar`](@/docs/reference/library/4h.md#bar)
49−[`++bas`](./docs/reference/library/4h.md#bas)
49+[`++bas`](@/docs/reference/library/4h.md#bas)
50−[`++base`](./docs/reference/library/4o.md#base)
50+[`++base`](@/docs/reference/library/4o.md#base)
51−[`++bass`](./docs/reference/library/4f.md#bass)
51+[`++bass`](@/docs/reference/library/4f.md#bass)
52−[`++bay:ag`](./docs/reference/library/4j.md#bay-ag)
52+[`++bay:ag`](@/docs/reference/library/4j.md#bay-ag)
53−[`++bean`](./docs/reference/library/4o.md#bean)
53+[`++bean`](@/docs/reference/library/4o.md#bean)
54−[`++beer`](./docs/reference/library/4o.md#beer)
54+[`++beer`](@/docs/reference/library/4o.md#beer)
55−[`++beet`](./docs/reference/library/4o.md#beet)
55+[`++beet`](@/docs/reference/library/4o.md#beet)
56−[`++bend`](./docs/reference/library/4e.md#bend)
56+[`++bend`](@/docs/reference/library/4e.md#bend)
57−[`++bet`](./docs/reference/library/4i.md#bet)
57+[`++bet`](@/docs/reference/library/4i.md#bet)
58−[`++bex`](./docs/reference/library/2c.md#bex)
58+[`++bex`](@/docs/reference/library/2c.md#bex)
59−[`++bif:ff`](./docs/reference/library/3b.md#bif-ff)
59+[`++bif:ff`](@/docs/reference/library/3b.md#bif-ff)
60−[`+-bif:by`](./docs/reference/library/2i.md#bif-by)
60+[`+-bif:by`](@/docs/reference/library/2i.md#bif-by)
61−[`+-bif:in`](./docs/reference/library/2h.md#bif-in)
61+[`+-bif:in`](@/docs/reference/library/2h.md#bif-in)
62−[`++biff`](./docs/reference/library/2a.md#biff)
62+[`++biff`](@/docs/reference/library/2a.md#biff)
63−[`++bin`](./docs/reference/library/4i.md#bin)
63+[`++bin`](@/docs/reference/library/4i.md#bin)
64−[`++bind`](./docs/reference/library/2a.md#bind)
64+[`++bind`](@/docs/reference/library/2a.md#bind)
65−[`++bip:ag`](./docs/reference/library/4j.md#bip-ag)
65+[`++bip:ag`](@/docs/reference/library/4j.md#bip-ag)
66−[`++bit:ff`](./docs/reference/library/3b.md#bit-ff)
66+[`++bit:ff`](@/docs/reference/library/3b.md#bit-ff)
67−[`++bit:rd`](./docs/reference/library/3b.md#bit-rd)
67+[`++bit:rd`](@/docs/reference/library/3b.md#bit-rd)
68−[`++bit:rh`](./docs/reference/library/3b.md#bit-rh)
68+[`++bit:rh`](@/docs/reference/library/3b.md#bit-rh)
69−[`++bit:rs`](./docs/reference/library/3b.md#bit-rs)
69+[`++bit:rs`](@/docs/reference/library/3b.md#bit-rs)
70−[`++bit:rq`](./docs/reference/library/3b.md#bit-rq)
70+[`++bit:rq`](@/docs/reference/library/3b.md#bit-rq)
71−[`++bix:ab`](./docs/reference/library/4j.md#bix-ab)
71+[`++bix:ab`](@/docs/reference/library/4j.md#bix-ab)
72−[`++bisk:so`](./docs/reference/library/4l.md#bisk-so)
72+[`++bisk:so`](@/docs/reference/library/4l.md#bisk-so)
73−[`++bloq`](./docs/reference/library/1c.md#bloq)
73+[`++bloq`](@/docs/reference/library/1c.md#bloq)
74−[`++bond`](./docs/reference/library/2a.md#bond)
74+[`++bond`](@/docs/reference/library/2a.md#bond)
75−[`++boss`](./docs/reference/library/4f.md#boss)
75+[`++boss`](@/docs/reference/library/4f.md#boss)
76−[`++both`](./docs/reference/library/2a.md#both)
76+[`++both`](@/docs/reference/library/2a.md#both)
77−[`++buc`](./docs/reference/library/4h.md#buc)
77+[`++buc`](@/docs/reference/library/4h.md#buc)
78−[`++but`](./docs/reference/library/4i.md#but)
78+[`++but`](@/docs/reference/library/4i.md#but)
79
79
80### c
80### c
81
81
82−[`++cab`](./docs/reference/library/4h.md#cab)
82+[`++cab`](@/docs/reference/library/4h.md#cab)
83−[`++can`](./docs/reference/library/2c.md#can)
83+[`++can`](@/docs/reference/library/2c.md#can)
84−[`++cap`](./docs/reference/library/1b.md#cap)
84+[`++cap`](@/docs/reference/library/1b.md#cap)
85−[`++cass`](./docs/reference/library/4b.md#cass)
85+[`++cass`](@/docs/reference/library/4b.md#cass)
86−[`++cat`](./docs/reference/library/2c.md#cat)
86+[`++cat`](@/docs/reference/library/2c.md#cat)
87−[`++cen`](./docs/reference/library/4h.md#cen)
87+[`++cen`](@/docs/reference/library/4h.md#cen)
88−[`++cet:yo`](./docs/reference/library/3c.md#cet-yo)
88+[`++cet:yo`](@/docs/reference/library/3c.md#cet-yo)
89−[`++char`](./docs/reference/library/2q.md#char)
89+[`++char`](@/docs/reference/library/2q.md#char)
90−[`++chum`](./docs/reference/library/4o.md#chum)
90+[`++chum`](@/docs/reference/library/4o.md#chum)
91−[`++cit`](./docs/reference/library/4i.md#cit)
91+[`++cit`](@/docs/reference/library/4i.md#cit)
92−[`++clap`](./docs/reference/library/2a.md#clap)
92+[`++clap`](@/docs/reference/library/2a.md#clap)
93−[`++cmp:si`](./docs/reference/library/3a.md#cmp-si)
93+[`++cmp:si`](@/docs/reference/library/3a.md#cmp-si)
94−[`++co`](./docs/reference/library/4k.md#co)
94+[`++co`](@/docs/reference/library/4k.md#co)
95−[`++coil`](./docs/reference/library/4o.md#coil)
95+[`++coil`](@/docs/reference/library/4o.md#coil)
96−[`++coin`](./docs/reference/library/3g.md#coin)
96+[`++coin`](@/docs/reference/library/3g.md#coin)
97−[`++col`](./docs/reference/library/4h.md#col)
97+[`++col`](@/docs/reference/library/4h.md#col)
98−[`++cold`](./docs/reference/library/4f.md#cold)
98+[`++cold`](@/docs/reference/library/4f.md#cold)
99−[`++com`](./docs/reference/library/4h.md#com)
99+[`++com`](@/docs/reference/library/4h.md#com)
100−[`++comp`](./docs/reference/library/4e.md#comp)
100+[`++comp`](@/docs/reference/library/4e.md#comp)
101−[`++con`](./docs/reference/library/2d.md#con)
101+[`++con`](@/docs/reference/library/2d.md#con)
102−[`++cook`](./docs/reference/library/4f.md#cook)
102+[`++cook`](@/docs/reference/library/4f.md#cook)
103−[`++cord`](./docs/reference/library/2q.md#cord)
103+[`++cord`](@/docs/reference/library/2q.md#cord)
104−[`++cork`](./docs/reference/library/2n.md#cork)
104+[`++cork`](@/docs/reference/library/2n.md#cork)
105−[`++corl`](./docs/reference/library/2n.md#corl)
105+[`++corl`](@/docs/reference/library/2n.md#corl)
106−[`++crip`](./docs/reference/library/4b.md#crip)
106+[`++crip`](@/docs/reference/library/4b.md#crip)
107−[`++crub:so`](./docs/reference/library/4l.md#crub-so)
107+[`++crub:so`](@/docs/reference/library/4l.md#crub-so)
108−[`++cue`](./docs/reference/library/2p.md#cue)
108+[`++cue`](@/docs/reference/library/2p.md#cue)
109−[`++curr`](./docs/reference/library/2n.md#curr)
109+[`++curr`](@/docs/reference/library/2n.md#curr)
110−[`++cury`](./docs/reference/library/2n.md#cury)
110+[`++cury`](@/docs/reference/library/2n.md#cury)
111−[`++cuss`](./docs/reference/library/4b.md#cuss)
111+[`++cuss`](@/docs/reference/library/4b.md#cuss)
112−[`++cut`](./docs/reference/library/2c.md#cut)
112+[`++cut`](@/docs/reference/library/2c.md#cut)
113
113
114### d
114### d
115
115
116−[`++d:ne`](./docs/reference/library/4j.md#d-ne)
116+[`++d:ne`](@/docs/reference/library/4j.md#d-ne)
117−[`++date`](./docs/reference/library/2q.md#date)
117+[`++date`](@/docs/reference/library/2q.md#date)
118−[`++day:yo`](./docs/reference/library/3c.md#day-yo)
118+[`++day:yo`](@/docs/reference/library/3c.md#day-yo)
119−[`++dec`](./docs/reference/library/1a.md#dec)
119+[`++dec`](@/docs/reference/library/1a.md#dec)
120−[`+-def:by`](./docs/reference/library/2i.md#def-by)
120+[`+-def:by`](@/docs/reference/library/2i.md#def-by)
121−[`+-del:by`](./docs/reference/library/2i.md#del-by)
121+[`+-del:by`](@/docs/reference/library/2i.md#del-by)
122−[`+-del:in`](./docs/reference/library/2h.md#del-in)
122+[`+-del:in`](@/docs/reference/library/2h.md#del-in)
123−[`+-del:ju`](./docs/reference/library/2j.md#del-ju)
123+[`+-del:ju`](@/docs/reference/library/2j.md#del-ju)
124−[`++dem`](./docs/reference/library/4i.md#dem)
124+[`++dem`](@/docs/reference/library/4i.md#dem)
125−[`++dem:ag`](./docs/reference/library/4j.md#dem-ag)
125+[`++dem:ag`](@/docs/reference/library/4j.md#dem-ag)
126−[`++den:fl`](./docs/reference/library/3b.md#den-fl)
126+[`++den:fl`](@/docs/reference/library/3b.md#den-fl)
127−[`+-dep:by`](./docs/reference/library/2i.md#dep-by)
127+[`+-dep:by`](@/docs/reference/library/2i.md#dep-by)
128−[`+-dep:to`](./docs/reference/library/2k.md#dep-to)
128+[`+-dep:to`](@/docs/reference/library/2k.md#dep-to)
129−[`++dif:fe`](./docs/reference/library/2c.md#dif-fe)
129+[`++dif:fe`](@/docs/reference/library/2c.md#dif-fe)
130−[`++dif:fo`](./docs/reference/library/3a.md#dif-fo)
130+[`++dif:fo`](@/docs/reference/library/3a.md#dif-fo)
131−[`+-dif:in`](./docs/reference/library/2h.md#dif-in)
131+[`+-dif:in`](@/docs/reference/library/2h.md#dif-in)
132−[`++dif:si`](./docs/reference/library/3a.md#dif-si)
132+[`++dif:si`](@/docs/reference/library/3a.md#dif-si)
133−[`+-dig:by`](./docs/reference/library/2i.md#dig-by)
133+[`+-dig:by`](@/docs/reference/library/2i.md#dig-by)
134−[`+-dig:in`](./docs/reference/library/2h.md#dig-in)
134+[`+-dig:in`](@/docs/reference/library/2h.md#dig-in)
135−[`++dim:ag`](./docs/reference/library/4j.md#dim-ag)
135+[`++dim:ag`](@/docs/reference/library/4j.md#dim-ag)
136−[`++dime`](./docs/reference/library/3g.md#dime)
136+[`++dime`](@/docs/reference/library/3g.md#dime)
137−[`++din:re`](./docs/reference/library/4c.md#din-re)
137+[`++din:re`](@/docs/reference/library/4c.md#din-re)
138−[`++dis`](./docs/reference/library/2d.md#dis)
138+[`++dis`](@/docs/reference/library/2d.md#dis)
139−[`++dit`](./docs/reference/library/4i.md#dit)
139+[`++dit`](@/docs/reference/library/4i.md#dit)
140−[`++div`](./docs/reference/library/1a.md#div)
140+[`++div`](@/docs/reference/library/1a.md#div)
141−[`++div:ff`](./docs/reference/library/3b.md#div-ff)
141+[`++div:ff`](@/docs/reference/library/3b.md#div-ff)
142−[`++div:fl`](./docs/reference/library/3b.md#div-fl)
142+[`++div:fl`](@/docs/reference/library/3b.md#div-fl)
143−[`++div:rd`](./docs/reference/library/3b.md#div-rd)
143+[`++div:rd`](@/docs/reference/library/3b.md#div-rd)
144−[`++div:rh`](./docs/reference/library/3b.md#div-rh)
144+[`++div:rh`](@/docs/reference/library/3b.md#div-rh)
145−[`++div:rs`](./docs/reference/library/3b.md#div-rs)
145+[`++div:rs`](@/docs/reference/library/3b.md#div-rs)
146−[`++div:rq`](./docs/reference/library/3b.md#div-rq)
146+[`++div:rq`](@/docs/reference/library/3b.md#div-rq)
147−[`++dog`](./docs/reference/library/4i.md#dog)
147+[`++dog`](@/docs/reference/library/4i.md#dog)
148−[`++doh`](./docs/reference/library/4i.md#doh)
148+[`++doh`](@/docs/reference/library/4i.md#doh)
149−[`++doq`](./docs/reference/library/4h.md#doq)
149+[`++doq`](@/docs/reference/library/4h.md#doq)
150−[`++dor`](./docs/reference/library/2f.md#dor)
150+[`++dor`](@/docs/reference/library/2f.md#dor)
151−[`++dot`](./docs/reference/library/4h.md#dot)
151+[`++dot`](@/docs/reference/library/4h.md#dot)
152−[`++drg:ff`](./docs/reference/library/3b.md#drg-ff)
152+[`++drg:ff`](@/docs/reference/library/3b.md#drg-ff)
153−[`++drg:fl`](./docs/reference/library/3b.md#drg-fl)
153+[`++drg:fl`](@/docs/reference/library/3b.md#drg-fl)
154−[`++drg:rd`](./docs/reference/library/3b.md#drg-rd)
154+[`++drg:rd`](@/docs/reference/library/3b.md#drg-rd)
155−[`++drg:rh`](./docs/reference/library/3b.md#drg-rh)
155+[`++drg:rh`](@/docs/reference/library/3b.md#drg-rh)
156−[`++drg:rs`](./docs/reference/library/3b.md#drg-rs)
156+[`++drg:rs`](@/docs/reference/library/3b.md#drg-rs)
157−[`++drg:rq`](./docs/reference/library/3b.md#drg-rq)
157+[`++drg:rq`](@/docs/reference/library/3b.md#drg-rq)
158−[`++drop`](./docs/reference/library/2a.md#drop)
158+[`++drop`](@/docs/reference/library/2a.md#drop)
159−[`++dul:si`](./docs/reference/library/3a.md#dul-si)
159+[`++dul:si`](@/docs/reference/library/3a.md#dul-si)
160−[`++dum:ag`](./docs/reference/library/4j.md#dum-ag)
160+[`++dum:ag`](@/docs/reference/library/4j.md#dum-ag)
161−[`++dun`](./docs/reference/library/4i.md#dun)
161+[`++dun`](@/docs/reference/library/4i.md#dun)
162−[`++duz`](./docs/reference/library/4i.md#duz)
162+[`++duz`](@/docs/reference/library/4i.md#duz)
163−[`++dvr`](./docs/reference/library/1a.md#dvr)
163+[`++dvr`](@/docs/reference/library/1a.md#dvr)
164
164
165### e
165### e
166
166
167−[`++ead:fl`](./docs/reference/library/3b.md#ead-fl)
167+[`++ead:fl`](@/docs/reference/library/3b.md#ead-fl)
168−[`++each`](./docs/reference/library/1c.md#each)
168+[`++each`](@/docs/reference/library/1c.md#each)
169−[`++easy`](./docs/reference/library/4f.md#easy)
169+[`++easy`](@/docs/reference/library/4f.md#easy)
170−[`++edge`](./docs/reference/library/3g.md#edge)
170+[`++edge`](@/docs/reference/library/3g.md#edge)
171−[`++egcd`](./docs/reference/library/3a.md#egcd)
171+[`++egcd`](@/docs/reference/library/3a.md#egcd)
172−[`++emn:fl`](./docs/reference/library/3b.md#emn-fl)
172+[`++emn:fl`](@/docs/reference/library/3b.md#emn-fl)
173−[`++emu:fl`](./docs/reference/library/3b.md#emu-fl)
173+[`++emu:fl`](@/docs/reference/library/3b.md#emu-fl)
174−[`++emx:fl`](./docs/reference/library/3b.md#emx-fl)
174+[`++emx:fl`](@/docs/reference/library/3b.md#emx-fl)
175−[`++end`](./docs/reference/library/2c.md#end)
175+[`++end`](@/docs/reference/library/2c.md#end)
176−[`++equ:ff`](./docs/reference/library/3b.md#equ-ff)
176+[`++equ:ff`](@/docs/reference/library/3b.md#equ-ff)
177−[`++equ:fl`](./docs/reference/library/3b.md#equ-fl)
177+[`++equ:fl`](@/docs/reference/library/3b.md#equ-fl)
178−[`++equ:rd`](./docs/reference/library/3b.md#equ-rd)
178+[`++equ:rd`](@/docs/reference/library/3b.md#equ-rd)
179−[`++equ:rh`](./docs/reference/library/3b.md#equ-rh)
179+[`++equ:rh`](@/docs/reference/library/3b.md#equ-rh)
180−[`++equ:rs`](./docs/reference/library/3b.md#equ-rs)
180+[`++equ:rs`](@/docs/reference/library/3b.md#equ-rs)
181−[`++equ:rq`](./docs/reference/library/3b.md#equ-rq)
181+[`++equ:rq`](@/docs/reference/library/3b.md#equ-rq)
182−[`++era:yo`](./docs/reference/library/3c.md#era-yo)
182+[`++era:yo`](@/docs/reference/library/3c.md#era-yo)
183−[`++exp:ff`](./docs/reference/library/3b.md#exp-ff)
183+[`++exp:ff`](@/docs/reference/library/3b.md#exp-ff)
184−[`++exp:fo`](./docs/reference/library/3a.md#exp-fo)
184+[`++exp:fo`](@/docs/reference/library/3a.md#exp-fo)
185−[`++exp:rd`](./docs/reference/library/3b.md#exp-rd)
185+[`++exp:rd`](@/docs/reference/library/3b.md#exp-rd)
186−[`++exp:rh`](./docs/reference/library/3b.md#exp-rh)
186+[`++exp:rh`](@/docs/reference/library/3b.md#exp-rh)
187−[`++exp:rs`](./docs/reference/library/3b.md#exp-rs)
187+[`++exp:rs`](@/docs/reference/library/3b.md#exp-rs)
188−[`++exp:rq`](./docs/reference/library/3b.md#exp-rq)
188+[`++exp:rq`](@/docs/reference/library/3b.md#exp-rq)
189
189
190### f
190### f
191
191
192−[`++fail`](./docs/reference/library/4e.md#fail)
192+[`++fail`](@/docs/reference/library/4e.md#fail)
193−[`++fall`](./docs/reference/library/2a.md#fall)
193+[`++fall`](@/docs/reference/library/2a.md#fall)
194−[`++fand`](./docs/reference/library/2b.md#fand)
194+[`++fand`](@/docs/reference/library/2b.md#fand)
195−[`++fas`](./docs/reference/library/4h.md#fas)
195+[`++fas`](@/docs/reference/library/4h.md#fas)
196−[`++fe`](./docs/reference/library/2c.md#fe)
196+[`++fe`](@/docs/reference/library/2c.md#fe)
197−[`++fed:ag`](./docs/reference/library/4j.md#fed-ag)
197+[`++fed:ag`](@/docs/reference/library/4j.md#fed-ag)
198−[`++feen:ob`](./docs/reference/library/3f.md#feen-ob)
198+[`++feen:ob`](@/docs/reference/library/3f.md#feen-ob)
199−[`++fend:ob`](./docs/reference/library/3f.md#fend-ob)
199+[`++fend:ob`](@/docs/reference/library/3f.md#fend-ob)
200−[`++fice:ob`](./docs/reference/library/3f.md#fice-ob)
200+[`++fice:ob`](@/docs/reference/library/3f.md#fice-ob)
201−[`++fil`](./docs/reference/library/2c.md#fil)
201+[`++fil`](@/docs/reference/library/2c.md#fil)
202−[`++find`](./docs/reference/library/2b.md#find)
202+[`++find`](@/docs/reference/library/2b.md#find)
203−[`++fit:re`](./docs/reference/library/4c.md#fit-re)
203+[`++fit:re`](@/docs/reference/library/4c.md#fit-re)
204−[`++fli:fl`](./docs/reference/library/3b.md#fli-fl)
204+[`++fli:fl`](@/docs/reference/library/3b.md#fli-fl)
205−[`++flop`](./docs/reference/library/2b.md#flop)
205+[`++flop`](@/docs/reference/library/2b.md#flop)
206−[`++fma:ff`](./docs/reference/library/3b.md#fma-ff)
206+[`++fma:ff`](@/docs/reference/library/3b.md#fma-ff)
207−[`++fma:fl`](./docs/reference/library/3b.md#fma-fl)
207+[`++fma:fl`](@/docs/reference/library/3b.md#fma-fl)
208−[`++fma:rd`](./docs/reference/library/3b.md#fma-rd)
208+[`++fma:rd`](@/docs/reference/library/3b.md#fma-rd)
209−[`++fma:rh`](./docs/reference/library/3b.md#fma-rh)
209+[`++fma:rh`](@/docs/reference/library/3b.md#fma-rh)
210−[`++fma:rs`](./docs/reference/library/3b.md#fma-rs)
210+[`++fma:rs`](@/docs/reference/library/3b.md#fma-rs)
211−[`++fma:rq`](./docs/reference/library/3b.md#fma-rq)
211+[`++fma:rq`](@/docs/reference/library/3b.md#fma-rq)
212−[`++fnv`](./docs/reference/library/2e.md#fnv)
212+[`++fnv`](@/docs/reference/library/2e.md#fnv)
213−[`++fo`](./docs/reference/library/3a.md#fo)
213+[`++fo`](@/docs/reference/library/3a.md#fo)
214−[`++foot`](./docs/reference/library/4o.md#foot)
214+[`++foot`](@/docs/reference/library/4o.md#foot)
215−[`++fos:rh`](./docs/reference/library/3b.md#fos-rh)
215+[`++fos:rh`](@/docs/reference/library/3b.md#fos-rh)
216−[`++fra:fo`](./docs/reference/library/3a.md#fra-fo)
216+[`++fra:fo`](@/docs/reference/library/3a.md#fra-fo)
217−[`++fra:si`](./docs/reference/library/3a.md#fra-si)
217+[`++fra:si`](@/docs/reference/library/3a.md#fra-si)
218−[`++full`](./docs/reference/library/4f.md#full)
218+[`++full`](@/docs/reference/library/4f.md#full)
219−[`++funk`](./docs/reference/library/4f.md#funk)
219+[`++funk`](@/docs/reference/library/4f.md#funk)
220
220
221### g
221### g
222
222
223−[`++gah`](./docs/reference/library/4i.md#gah)
223+[`++gah`](@/docs/reference/library/4i.md#gah)
224−[`++gal`](./docs/reference/library/4h.md#gal)
224+[`++gal`](@/docs/reference/library/4h.md#gal)
225−[`++gap`](./docs/reference/library/4i.md#gap)
225+[`++gap`](@/docs/reference/library/4i.md#gap)
226−[`++gaq`](./docs/reference/library/4i.md#gaq)
226+[`++gaq`](@/docs/reference/library/4i.md#gaq)
227−[`++gar`](./docs/reference/library/4h.md#gar)
227+[`++gar`](@/docs/reference/library/4h.md#gar)
228−[`+-gas:by`](./docs/reference/library/2i.md#gas-by)
228+[`+-gas:by`](@/docs/reference/library/2i.md#gas-by)
229−[`+-gas:in`](./docs/reference/library/2h.md#gas-in)
229+[`+-gas:in`](@/docs/reference/library/2h.md#gas-in)
230−[`+-gas:to`](./docs/reference/library/2k.md#gas-to)
230+[`+-gas:to`](@/docs/reference/library/2k.md#gas-to)
231−[`++gate`](./docs/reference/library/1c.md#gate)
231+[`++gate`](@/docs/reference/library/1c.md#gate)
232−[`++gaw`](./docs/reference/library/4i.md#gaw)
232+[`++gaw`](@/docs/reference/library/4i.md#gaw)
233−[`++gay`](./docs/reference/library/4i.md#gay)
233+[`++gay`](@/docs/reference/library/4i.md#gay)
234−[`+-get:by`](./docs/reference/library/2i.md#get-by)
234+[`+-get:by`](@/docs/reference/library/2i.md#get-by)
235−[`+-get:ja`](./docs/reference/library/2j.md#get-ja)
235+[`+-get:ja`](@/docs/reference/library/2j.md#get-ja)
236−[`+-get:ju`](./docs/reference/library/2j.md#get-ju)
236+[`+-get:ju`](@/docs/reference/library/2j.md#get-ju)
237−[`+-get:to`](./docs/reference/library/2k.md#get-to)
237+[`+-get:to`](@/docs/reference/library/2k.md#get-to)
238−[`++glue`](./docs/reference/library/4e.md#glue)
238+[`++glue`](@/docs/reference/library/4e.md#glue)
239−[`++gon`](./docs/reference/library/4i.md#gon)
239+[`++gon`](@/docs/reference/library/4i.md#gon)
240−[`++gor`](./docs/reference/library/2f.md#gor)
240+[`++gor`](@/docs/reference/library/2f.md#gor)
241−[`+-got:by`](./docs/reference/library/2i.md#got-by)
241+[`+-got:by`](@/docs/reference/library/2i.md#got-by)
242−[`++grd:ff`](./docs/reference/library/3b.md#grd-ff)
242+[`++grd:ff`](@/docs/reference/library/3b.md#grd-ff)
243−[`++grd:fl`](./docs/reference/library/3b.md#grd-fl)
243+[`++grd:fl`](@/docs/reference/library/3b.md#grd-fl)
244−[`++grd:rd`](./docs/reference/library/3b.md#grd-rd)
244+[`++grd:rd`](@/docs/reference/library/3b.md#grd-rd)
245−[`++grd:rh`](./docs/reference/library/3b.md#grd-rh)
245+[`++grd:rh`](@/docs/reference/library/3b.md#grd-rh)
246−[`++grd:rs`](./docs/reference/library/3b.md#grd-rs)
246+[`++grd:rs`](@/docs/reference/library/3b.md#grd-rs)
247−[`++grd:rq`](./docs/reference/library/3b.md#grd-rq)
247+[`++grd:rq`](@/docs/reference/library/3b.md#grd-rq)
248−[`++gte`](./docs/reference/library/1a.md#gte)
248+[`++gte`](@/docs/reference/library/1a.md#gte)
249−[`++gte:ff`](./docs/reference/library/3b.md#gte-ff)
249+[`++gte:ff`](@/docs/reference/library/3b.md#gte-ff)
250−[`++gte:fl`](./docs/reference/library/3b.md#gte-fl)
250+[`++gte:fl`](@/docs/reference/library/3b.md#gte-fl)
251−[`++gte:rd`](./docs/reference/library/3b.md#gte-rd)
251+[`++gte:rd`](@/docs/reference/library/3b.md#gte-rd)
252−[`++gte:rh`](./docs/reference/library/3b.md#gte-rh)
252+[`++gte:rh`](@/docs/reference/library/3b.md#gte-rh)
253−[`++gte:rs`](./docs/reference/library/3b.md#gte-rs)
253+[`++gte:rs`](@/docs/reference/library/3b.md#gte-rs)
254−[`++gte:rq`](./docs/reference/library/3b.md#gte-rq)
254+[`++gte:rq`](@/docs/reference/library/3b.md#gte-rq)
255−[`++gth`](./docs/reference/library/1a.md#gth)
255+[`++gth`](@/docs/reference/library/1a.md#gth)
256−[`++gth:ff`](./docs/reference/library/3b.md#gth-ff)
256+[`++gth:ff`](@/docs/reference/library/3b.md#gth-ff)
257−[`++gth:fl`](./docs/reference/library/3b.md#gth-fl)
257+[`++gth:fl`](@/docs/reference/library/3b.md#gth-fl)
258−[`++gth:rd`](./docs/reference/library/3b.md#gth-rd)
258+[`++gth:rd`](@/docs/reference/library/3b.md#gth-rd)
259−[`++gth:rh`](./docs/reference/library/3b.md#gth-rh)
259+[`++gth:rh`](@/docs/reference/library/3b.md#gth-rh)
260−[`++gth:rs`](./docs/reference/library/3b.md#gth-rs)
260+[`++gth:rs`](@/docs/reference/library/3b.md#gth-rs)
261−[`++gth:rq`](./docs/reference/library/3b.md#gth-rq)
261+[`++gth:rq`](@/docs/reference/library/3b.md#gth-rq)
262−[`++gul`](./docs/reference/library/4i.md#gul)
262+[`++gul`](@/docs/reference/library/4i.md#gul)
263−[`++gulf`](./docs/reference/library/2b.md#gulf)
263+[`++gulf`](@/docs/reference/library/2b.md#gulf)
264
264
265### h
265### h
266
266
267−[`++hair`](./docs/reference/library/3g.md#hair)
267+[`++hair`](@/docs/reference/library/3g.md#hair)
268−[`++hard`](./docs/reference/library/2n.md#hard)
268+[`++hard`](@/docs/reference/library/2n.md#hard)
269−[`+-has:by`](./docs/reference/library/2i.md#has-by)
269+[`+-has:by`](@/docs/reference/library/2i.md#has-by)
270−[`+-has:in`](./docs/reference/library/2h.md#has-in)
270+[`+-has:in`](@/docs/reference/library/2h.md#has-in)
271−[`+-has:ju`](./docs/reference/library/2j.md#has-ju)
271+[`+-has:ju`](@/docs/reference/library/2j.md#has-ju)
272−[`++hax`](./docs/reference/library/4h.md#hax)
272+[`++hax`](@/docs/reference/library/4h.md#hax)
273−[`++head`](./docs/reference/library/2n.md#head)
273+[`++head`](@/docs/reference/library/2n.md#head)
274−[`++here`](./docs/reference/library/4f.md#here)
274+[`++here`](@/docs/reference/library/4f.md#here)
275−[`++hep`](./docs/reference/library/4h.md#hep)
275+[`++hep`](@/docs/reference/library/4h.md#hep)
276−[`++hex`](./docs/reference/library/4i.md#hex)
276+[`++hex`](@/docs/reference/library/4i.md#hex)
277−[`++hex:ag`](./docs/reference/library/4j.md#hex-ag)
277+[`++hex:ag`](@/docs/reference/library/4j.md#hex-ag)
278−[`++hif:ab`](./docs/reference/library/4j.md#hif-ab)
278+[`++hif:ab`](@/docs/reference/library/4j.md#hif-ab)
279−[`++hig`](./docs/reference/library/4i.md#hig)
279+[`++hig`](@/docs/reference/library/4i.md#hig)
280−[`++hit`](./docs/reference/library/4i.md#hit)
280+[`++hit`](@/docs/reference/library/4i.md#hit)
281−[`++homo`](./docs/reference/library/2b.md#homo)
281+[`++homo`](@/docs/reference/library/2b.md#homo)
282−[`++hor`](./docs/reference/library/2f.md#hor)
282+[`++hor`](@/docs/reference/library/2f.md#hor)
283−[`++hor:yo`](./docs/reference/library/3c.md#hor-yo)
283+[`++hor:yo`](@/docs/reference/library/3c.md#hor-yo)
284−[`++huf:ab`](./docs/reference/library/4j.md#huf-ab)
284+[`++huf:ab`](@/docs/reference/library/4j.md#huf-ab)
285−[`++hyf:ab`](./docs/reference/library/4j.md#hyf-ab)
285+[`++hyf:ab`](@/docs/reference/library/4j.md#hyf-ab)
286
286
287### i
287### i
288
288
289−[`++ibl:fl`](./docs/reference/library/3b.md#ibl-fl)
289+[`++ibl:fl`](@/docs/reference/library/3b.md#ibl-fl)
290−[`++ifix`](./docs/reference/library/4f.md#ifix)
290+[`++ifix`](@/docs/reference/library/4f.md#ifix)
291−[`++ind:po`](./docs/reference/library/4a.md#ind-po)
291+[`++ind:po`](@/docs/reference/library/4a.md#ind-po)
292−[`++ins:po`](./docs/reference/library/4a.md#ins-po)
292+[`++ins:po`](@/docs/reference/library/4a.md#ins-po)
293−[`+-int:by`](./docs/reference/library/2i.md#int-by)
293+[`+-int:by`](@/docs/reference/library/2i.md#int-by)
294−[`+-int:in`](./docs/reference/library/2h.md#int-in)
294+[`+-int:in`](@/docs/reference/library/2h.md#int-in)
295−[`++inv:fe`](./docs/reference/library/2c.md#inv-fe)
295+[`++inv:fe`](@/docs/reference/library/2c.md#inv-fe)
296−[`++inv:fl`](./docs/reference/library/3b.md#inv-fl)
296+[`++inv:fl`](@/docs/reference/library/3b.md#inv-fl)
297−[`++inv:fo`](./docs/reference/library/3a.md#inv-fo)
297+[`++inv:fo`](@/docs/reference/library/3a.md#inv-fo)
298−[`++iny`](./docs/reference/library/4i.md#iny)
298+[`++iny`](@/docs/reference/library/4i.md#iny)
299
299
300### j
300### j
301
301
302−[`++ja`](./docs/reference/library/2j.md#ja)
302+[`++ja`](@/docs/reference/library/2j.md#ja)
303−[`++jam`](./docs/reference/library/2p.md#jam)
303+[`++jam`](@/docs/reference/library/2p.md#jam)
304−[`++jar`](./docs/reference/library/2o.md#jar)
304+[`++jar`](@/docs/reference/library/2o.md#jar)
305−[`++jes:yo`](./docs/reference/library/3c.md#jes-yo)
305+[`++jes:yo`](@/docs/reference/library/3c.md#jes-yo)
306−[`++jest`](./docs/reference/library/4f.md#jest)
306+[`++jest`](@/docs/reference/library/4f.md#jest)
307−[`++ju`](./docs/reference/library/2j.md#ju)
307+[`++ju`](@/docs/reference/library/2j.md#ju)
308−[`++jug`](./docs/reference/library/2o.md#jug)
308+[`++jug`](@/docs/reference/library/2o.md#jug)
309−[`++just`](./docs/reference/library/4f.md#just)
309+[`++just`](@/docs/reference/library/4f.md#just)
310
310
311### k
311### k
312
312
313−[`++kel`](./docs/reference/library/4h.md#kel)
313+[`++kel`](@/docs/reference/library/4h.md#kel)
314−[`++ker`](./docs/reference/library/4h.md#ker)
314+[`++ker`](@/docs/reference/library/4h.md#ker)
315−[`++ket`](./docs/reference/library/4h.md#ket)
315+[`++ket`](@/docs/reference/library/4h.md#ket)
316−[`++knee`](./docs/reference/library/4f.md#knee)
316+[`++knee`](@/docs/reference/library/4f.md#knee)
317−[`++knot`](./docs/reference/library/2q.md#knot)
317+[`++knot`](@/docs/reference/library/2q.md#knot)
318
318
319### l
319### l
320
320
321−[`++last`](./docs/reference/library/4d.md#last)
321+[`++last`](@/docs/reference/library/4d.md#last)
322−[`++le:nl`](./docs/reference/library/2m.md#le-nl)
322+[`++le:nl`](@/docs/reference/library/2m.md#le-nl)
323−[`++lent`](./docs/reference/library/2b.md#lent)
323+[`++lent`](@/docs/reference/library/2b.md#lent)
324−[`++levy`](./docs/reference/library/2b.md#levy)
324+[`++levy`](@/docs/reference/library/2b.md#levy)
325−[`++lfe:fl`](./docs/reference/library/3b.md#lfe-fl)
325+[`++lfe:fl`](@/docs/reference/library/3b.md#lfe-fl)
326−[`++lfn:fl`](./docs/reference/library/3b.md#lfn-fl)
326+[`++lfn:fl`](@/docs/reference/library/3b.md#lfn-fl)
327−[`++lien`](./docs/reference/library/2b.md#lien)
327+[`++lien`](@/docs/reference/library/2b.md#lien)
328−[`++lift`](./docs/reference/library/2a.md#lift)
328+[`++lift`](@/docs/reference/library/2a.md#lift)
329−[`++like`](./docs/reference/library/3g.md#like)
329+[`++like`](@/docs/reference/library/3g.md#like)
330−[`++limb`](./docs/reference/library/4o.md#limb)
330+[`++limb`](@/docs/reference/library/4o.md#limb)
331−[`++limo`](./docs/reference/library/2b.md#limo)
331+[`++limo`](@/docs/reference/library/2b.md#limo)
332−[`++line`](./docs/reference/library/4o.md#line)
332+[`++line`](@/docs/reference/library/4o.md#line)
333−[`++lip:ag`](./docs/reference/library/4j.md#lip-ag)
333+[`++lip:ag`](@/docs/reference/library/4j.md#lip-ag)
334−[`++list`](./docs/reference/library/1c.md#list)
334+[`++list`](@/docs/reference/library/1c.md#list)
335−[`++lone`](./docs/reference/library/1c.md#lone)
335+[`++lone`](@/docs/reference/library/1c.md#lone)
336−[`++lor`](./docs/reference/library/2f.md#lor)
336+[`++lor`](@/docs/reference/library/2f.md#lor)
337−[`++low`](./docs/reference/library/4i.md#low)
337+[`++low`](@/docs/reference/library/4i.md#low)
338−[`++lsh`](./docs/reference/library/2c.md#lsh)
338+[`++lsh`](@/docs/reference/library/2c.md#lsh)
339−[`++lte`](./docs/reference/library/1a.md#lte)
339+[`++lte`](@/docs/reference/library/1a.md#lte)
340−[`++lte:ff`](./docs/reference/library/3b.md#lte-ff)
340+[`++lte:ff`](@/docs/reference/library/3b.md#lte-ff)
341−[`++lte:fl`](./docs/reference/library/3b.md#lte-fl)
341+[`++lte:fl`](@/docs/reference/library/3b.md#lte-fl)
342−[`++lte:rd`](./docs/reference/library/3b.md#lte-rd)
342+[`++lte:rd`](@/docs/reference/library/3b.md#lte-rd)
343−[`++lte:rh`](./docs/reference/library/3b.md#lte-rh)
343+[`++lte:rh`](@/docs/reference/library/3b.md#lte-rh)
344−[`++lte:rs`](./docs/reference/library/3b.md#lte-rs)
344+[`++lte:rs`](@/docs/reference/library/3b.md#lte-rs)
345−[`++lte:rq`](./docs/reference/library/3b.md#lte-rq)
345+[`++lte:rq`](@/docs/reference/library/3b.md#lte-rq)
346−[`++lth`](./docs/reference/library/1a.md#lth)
346+[`++lth`](@/docs/reference/library/1a.md#lth)
347−[`++lth:ff`](./docs/reference/library/3b.md#lth-ff)
347+[`++lth:ff`](@/docs/reference/library/3b.md#lth-ff)
348−[`++lth:fl`](./docs/reference/library/3b.md#lth-fl)
348+[`++lth:fl`](@/docs/reference/library/3b.md#lth-fl)
349−[`++lth:rd`](./docs/reference/library/3b.md#lth-rd)
349+[`++lth:rd`](@/docs/reference/library/3b.md#lth-rd)
350−[`++lth:rh`](./docs/reference/library/3b.md#lth-rh)
350+[`++lth:rh`](@/docs/reference/library/3b.md#lth-rh)
351−[`++lth:rs`](./docs/reference/library/3b.md#lth-rs)
351+[`++lth:rs`](@/docs/reference/library/3b.md#lth-rs)
352−[`++lth:rq`](./docs/reference/library/3b.md#lth-rq)
352+[`++lth:rq`](@/docs/reference/library/3b.md#lth-rq)
353−[`++lug:fl`](./docs/reference/library/3b.md#lug-fl)
353+[`++lug:fl`](@/docs/reference/library/3b.md#lug-fl)
354−[`++lus`](./docs/reference/library/4h.md#lus)
354+[`++lus`](@/docs/reference/library/4h.md#lus)
355−[`++lust`](./docs/reference/library/4d.md#lust)
355+[`++lust`](@/docs/reference/library/4d.md#lust)
356−[`++less`](./docs/reference/library/4e.md#less)
356+[`++less`](@/docs/reference/library/4e.md#less)
357−[`++ly`](./docs/reference/library/2m.md#ly)
357+[`++ly`](@/docs/reference/library/2m.md#ly)
358
358
359### m
359### m
360
360
361−[`++ma:rd`](./docs/reference/library/3b.md#ma-rd)
361+[`++ma:rd`](@/docs/reference/library/3b.md#ma-rd)
362−[`++ma:rh`](./docs/reference/library/3b.md#ma-rh)
362+[`++ma:rh`](@/docs/reference/library/3b.md#ma-rh)
363−[`++ma:rs`](./docs/reference/library/3b.md#ma-rs)
363+[`++ma:rs`](@/docs/reference/library/3b.md#ma-rs)
364−[`++ma:rq`](./docs/reference/library/3b.md#ma-rq)
364+[`++ma:rq`](@/docs/reference/library/3b.md#ma-rq)
365−[`++mack`](./docs/reference/library/4n.md#mack)
365+[`++mack`](@/docs/reference/library/4n.md#mack)
366−[`++malt`](./docs/reference/library/2l.md#malt)
366+[`++malt`](@/docs/reference/library/2l.md#malt)
367−[`++map`](./docs/reference/library/2o.md#map)
367+[`++map`](@/docs/reference/library/2o.md#map)
368−[`+-mar:by`](./docs/reference/library/2i.md#mar-by)
368+[`+-mar:by`](@/docs/reference/library/2i.md#mar-by)
369−[`++mas`](./docs/reference/library/1b.md#mas)
369+[`++mas`](@/docs/reference/library/1b.md#mas)
370−[`++mask`](./docs/reference/library/4f.md#mask)
370+[`++mask`](@/docs/reference/library/4f.md#mask)
371−[`++mat`](./docs/reference/library/2p.md#mat)
371+[`++mat`](@/docs/reference/library/2p.md#mat)
372−[`++mate`](./docs/reference/library/2a.md#mate)
372+[`++mate`](@/docs/reference/library/2a.md#mate)
373−[`++max`](./docs/reference/library/1a.md#max)
373+[`++max`](@/docs/reference/library/1a.md#max)
374−[`++me:ff`](./docs/reference/library/3b.md#me-ff)
374+[`++me:ff`](@/docs/reference/library/3b.md#me-ff)
375−[`++mean`](./docs/reference/library/2n.md#mean)
375+[`++mean`](@/docs/reference/library/2n.md#mean)
376−[`++mes`](./docs/reference/library/4i.md#mes)
376+[`++mes`](@/docs/reference/library/4i.md#mes)
377−[`++mesc`](./docs/reference/library/4b.md#mesc)
377+[`++mesc`](@/docs/reference/library/4b.md#mesc)
378−[`++met`](./docs/reference/library/2c.md#met)
378+[`++met`](@/docs/reference/library/2c.md#met)
379−[`++metl`](./docs/reference/library/4o.md#metl)
379+[`++metl`](@/docs/reference/library/4o.md#metl)
380−[`++min`](./docs/reference/library/1a.md#min)
380+[`++min`](@/docs/reference/library/1a.md#min)
381−[`++mink`](./docs/reference/library/4n.md#mink)
381+[`++mink`](@/docs/reference/library/4n.md#mink)
382−[`++mit:yo`](./docs/reference/library/3c.md#mit-yo)
382+[`++mit:yo`](@/docs/reference/library/3c.md#mit-yo)
383−[`++mix`](./docs/reference/library/2d.md#mix)
383+[`++mix`](@/docs/reference/library/2d.md#mix)
384−[`++mock`](./docs/reference/library/4n.md#mock)
384+[`++mock`](@/docs/reference/library/4n.md#mock)
385−[`++mod`](./docs/reference/library/1a.md#mod)
385+[`++mod`](@/docs/reference/library/1a.md#mod)
386−[`++moh:yo`](./docs/reference/library/3c.md#moh-yo)
386+[`++moh:yo`](@/docs/reference/library/3c.md#moh-yo)
387−[`++molt`](./docs/reference/library/2l.md#molt)
387+[`++molt`](@/docs/reference/library/2l.md#molt)
388−[`++mong`](./docs/reference/library/4n.md#mong)
388+[`++mong`](@/docs/reference/library/4n.md#mong)
389−[`++mook`](./docs/reference/library/4n.md#mook)
389+[`++mook`](@/docs/reference/library/4n.md#mook)
390−[`++more`](./docs/reference/library/4f.md#more)
390+[`++more`](@/docs/reference/library/4f.md#more)
391−[`++most`](./docs/reference/library/4f.md#most)
391+[`++most`](@/docs/reference/library/4f.md#most)
392−[`++moy:yo`](./docs/reference/library/3c.md#moy-yo)
392+[`++moy:yo`](@/docs/reference/library/3c.md#moy-yo)
393−[`++mu`](./docs/reference/library/4j.md#mu)
393+[`++mu`](@/docs/reference/library/4j.md#mu)
394−[`++mug`](./docs/reference/library/2e.md#mug)
394+[`++mug`](@/docs/reference/library/2e.md#mug)
395−[`++muk`](./docs/reference/library/2e.md#muk)
395+[`++muk`](@/docs/reference/library/2e.md#muk)
396−[`++mul`](./docs/reference/library/1a.md#mul)
396+[`++mul`](@/docs/reference/library/1a.md#mul)
397−[`++mul:ff`](./docs/reference/library/3b.md#mul-ff)
397+[`++mul:ff`](@/docs/reference/library/3b.md#mul-ff)
398−[`++mul:fl`](./docs/reference/library/3b.md#mul-fl)
398+[`++mul:fl`](@/docs/reference/library/3b.md#mul-fl)
399−[`++mul:rd`](./docs/reference/library/3b.md#mul-rd)
399+[`++mul:rd`](@/docs/reference/library/3b.md#mul-rd)
400−[`++mul:rh`](./docs/reference/library/3b.md#mul-rh)
400+[`++mul:rh`](@/docs/reference/library/3b.md#mul-rh)
401−[`++mul:rs`](./docs/reference/library/3b.md#mul-rs)
401+[`++mul:rs`](@/docs/reference/library/3b.md#mul-rs)
402−[`++mul:rq`](./docs/reference/library/3b.md#mul-rq)
402+[`++mul:rq`](@/docs/reference/library/3b.md#mul-rq)
403−[`++mule`](./docs/reference/library/4n.md#mule)
403+[`++mule`](@/docs/reference/library/4n.md#mule)
404−[`++mute`](./docs/reference/library/4n.md#mute)
404+[`++mute`](@/docs/reference/library/4n.md#mute)
405−[`++mum`](./docs/reference/library/2e.md#mum)
405+[`++mum`](@/docs/reference/library/2e.md#mum)
406−[`++murn`](./docs/reference/library/2b.md#murn)
406+[`++murn`](@/docs/reference/library/2b.md#murn)
407−[`++my`](./docs/reference/library/2m.md#my)
407+[`++my`](@/docs/reference/library/2m.md#my)
408−[`++my:nl`](./docs/reference/library/2m.md#my-nl)
408+[`++my:nl`](@/docs/reference/library/2m.md#my-nl)
409
409
410### n
410### n
411
411
412−[`++nail`](./docs/reference/library/3g.md#nail)
412+[`++nail`](@/docs/reference/library/3g.md#nail)
413−[`+-nap:to`](./docs/reference/library/2k.md#nap-to)
413+[`+-nap:to`](@/docs/reference/library/2k.md#nap-to)
414−[`++ne`](./docs/reference/library/4j.md#ne)
414+[`++ne`](@/docs/reference/library/4j.md#ne)
415−[`++ned:fl`](./docs/reference/library/3b.md#ned-fl)
415+[`++ned:fl`](@/docs/reference/library/3b.md#ned-fl)
416−[`++need`](./docs/reference/library/2a.md#need)
416+[`++need`](@/docs/reference/library/2a.md#need)
417−[`++net:fe`](./docs/reference/library/2c.md#net-fe)
417+[`++net:fe`](@/docs/reference/library/2c.md#net-fe)
418−[`++new:si`](./docs/reference/library/3a.md#new-si)
418+[`++new:si`](@/docs/reference/library/3a.md#new-si)
419−[`++next`](./docs/reference/library/4f.md#next)
419+[`++next`](@/docs/reference/library/4f.md#next)
420−[`+-nip:to`](./docs/reference/library/2k.md#nip-to)
420+[`+-nip:to`](@/docs/reference/library/2k.md#nip-to)
421−[`++nix`](./docs/reference/library/4i.md#nix)
421+[`++nix`](@/docs/reference/library/4i.md#nix)
422−[`++nl`](./docs/reference/library/2m.md#nl)
422+[`++nl`](@/docs/reference/library/2m.md#nl)
423−[`++nock`](./docs/reference/library/4o.md#nock)
423+[`++nock`](@/docs/reference/library/4o.md#nock)
424−[`++not`](./docs/reference/library/2d.md#not)
424+[`++not`](@/docs/reference/library/2d.md#not)
425−[`++noun`](./docs/reference/library/4o.md#noun)
425+[`++noun`](@/docs/reference/library/4o.md#noun)
426−[`++nuck:so`](./docs/reference/library/4l.md#nuck-so)
426+[`++nuck:so`](@/docs/reference/library/4l.md#nuck-so)
427−[`++nud`](./docs/reference/library/4i.md#nud)
427+[`++nud`](@/docs/reference/library/4i.md#nud)
428−[`++null`](./docs/reference/library/4o.md#null)
428+[`++null`](@/docs/reference/library/4o.md#null)
429−[`++nusk:so`](./docs/reference/library/4l.md#nusk-so)
429+[`++nusk:so`](@/docs/reference/library/4l.md#nusk-so)
430
430
431### o
431### o
432
432
433−[`++ob`](./docs/reference/library/3f.md#ob)
433+[`++ob`](@/docs/reference/library/3f.md#ob)
434−[`++og`](./docs/reference/library/3d.md#og)
434+[`++og`](@/docs/reference/library/3d.md#og)
435−[`++old:si`](./docs/reference/library/3a.md#old-si)
435+[`++old:si`](@/docs/reference/library/3a.md#old-si)
436−[`++oust`](./docs/reference/library/2b.md#oust)
436+[`++oust`](@/docs/reference/library/2b.md#oust)
437−[`++out:fe`](./docs/reference/library/2c.md#out-fe)
437+[`++out:fe`](@/docs/reference/library/2c.md#out-fe)
438
438
439### p
439### p
440
440
441−[`++pa:ff`](./docs/reference/library/3b.md#pa-ff)
441+[`++pa:ff`](@/docs/reference/library/3b.md#pa-ff)
442−[`++pair`](./docs/reference/library/1c.md#pair)
442+[`++pair`](@/docs/reference/library/1c.md#pair)
443−[`++pam`](./docs/reference/library/4h.md#pam)
443+[`++pam`](@/docs/reference/library/4h.md#pam)
444−[`++pat`](./docs/reference/library/4h.md#pat)
444+[`++pat`](@/docs/reference/library/4h.md#pat)
445−[`++path`](./docs/reference/library/3g.md#path)
445+[`++path`](@/docs/reference/library/3g.md#path)
446−[`++peg`](./docs/reference/library/1b.md#peg)
446+[`++peg`](@/docs/reference/library/1b.md#peg)
447−[`++pel`](./docs/reference/library/4h.md#pel)
447+[`++pel`](@/docs/reference/library/4h.md#pel)
448−[`++per`](./docs/reference/library/4h.md#per)
448+[`++per`](@/docs/reference/library/4h.md#per)
449−[`++perd:so`](./docs/reference/library/4l.md#perd-so)
449+[`++perd:so`](@/docs/reference/library/4l.md#perd-so)
450−[`++pev:ab`](./docs/reference/library/4j.md#pev-ab)
450+[`++pev:ab`](@/docs/reference/library/4j.md#pev-ab)
451−[`++pew:ab`](./docs/reference/library/4j.md#pew-ab)
451+[`++pew:ab`](@/docs/reference/library/4j.md#pew-ab)
452−[`++pfix`](./docs/reference/library/4e.md#pfix)
452+[`++pfix`](@/docs/reference/library/4e.md#pfix)
453−[`++pint`](./docs/reference/library/3g.md#pint)
453+[`++pint`](@/docs/reference/library/3g.md#pint)
454−[`++piv:ab`](./docs/reference/library/4j.md#piv-ab)
454+[`++piv:ab`](@/docs/reference/library/4j.md#piv-ab)
455−[`++piw:ab`](./docs/reference/library/4j.md#piw-ab)
455+[`++piw:ab`](@/docs/reference/library/4j.md#piw-ab)
456−[`++plug`](./docs/reference/library/4e.md#plug)
456+[`++plug`](@/docs/reference/library/4e.md#plug)
457−[`++plus`](./docs/reference/library/4f.md#plus)
457+[`++plus`](@/docs/reference/library/4f.md#plus)
458−[`++po`](./docs/reference/library/4a.md#po)
458+[`++po`](@/docs/reference/library/4a.md#po)
459−[`++pole`](./docs/reference/library/1c.md#pole)
459+[`++pole`](@/docs/reference/library/1c.md#pole)
460−[`++port`](./docs/reference/library/4o.md#port)
460+[`++port`](@/docs/reference/library/4o.md#port)
461−[`++pose`](./docs/reference/library/4e.md#pose)
461+[`++pose`](@/docs/reference/library/4e.md#pose)
462−[`++pow`](./docs/reference/library/2g.md#pow)
462+[`++pow`](@/docs/reference/library/2g.md#pow)
463−[`++prc:fl`](./docs/reference/library/3b.md#prc-fl)
463+[`++prc:fl`](@/docs/reference/library/3b.md#prc-fl)
464−[`++prn`](./docs/reference/library/4i.md#prn)
464+[`++prn`](@/docs/reference/library/4i.md#prn)
465−[`++pro:fo`](./docs/reference/library/3a.md#pro-fo)
465+[`++pro:fo`](@/docs/reference/library/3a.md#pro-fo)
466−[`++pro:si`](./docs/reference/library/3a.md#pro-si)
466+[`++pro:si`](@/docs/reference/library/3a.md#pro-si)
467−[`+-put:by`](./docs/reference/library/2i.md#put-by)
467+[`+-put:by`](@/docs/reference/library/2i.md#put-by)
468−[`+-put:in`](./docs/reference/library/2h.md#put-in)
468+[`+-put:in`](@/docs/reference/library/2h.md#put-in)
469−[`+-put:ju`](./docs/reference/library/2j.md#put-ju)
469+[`+-put:ju`](@/docs/reference/library/2j.md#put-ju)
470−[`+-put:to`](./docs/reference/library/2k.md#put-to)
470+[`+-put:to`](@/docs/reference/library/2k.md#put-to)
471
471
472### q
472### q
473
473
474−[`++qad:yo`](./docs/reference/library/3c.md#qad-yo)
474+[`++qad:yo`](@/docs/reference/library/3c.md#qad-yo)
475−[`++qeb:ab`](./docs/reference/library/4j.md#qeb-ab)
475+[`++qeb:ab`](@/docs/reference/library/4j.md#qeb-ab)
476−[`++qeu`](./docs/reference/library/2o.md#qeu)
476+[`++qeu`](@/docs/reference/library/2o.md#qeu)
477−[`++qex:ab`](./docs/reference/library/4j.md#qex-ab)
477+[`++qex:ab`](@/docs/reference/library/4j.md#qex-ab)
478−[`++qib:ab`](./docs/reference/library/4j.md#qib-ab)
478+[`++qib:ab`](@/docs/reference/library/4j.md#qib-ab)
479−[`++qit`](./docs/reference/library/4i.md#qit)
479+[`++qit`](@/docs/reference/library/4i.md#qit)
480−[`++qix:ab`](./docs/reference/library/4j.md#qix-ab)
480+[`++qix:ab`](@/docs/reference/library/4j.md#qix-ab)
481−[`++quip`](./docs/reference/library/1c.md#quip)
481+[`++quip`](@/docs/reference/library/1c.md#quip)
482−[`++qut`](./docs/reference/library/4i.md#qut)
482+[`++qut`](@/docs/reference/library/4i.md#qut)
483
483
484### r
484### r
485
485
486−[`++r:at`](./docs/reference/library/4b.md#r-at)
486+[`++r:at`](@/docs/reference/library/4b.md#r-at)
487−[`++rad:og`](./docs/reference/library/3d.md#rad-og)
487+[`++rad:og`](@/docs/reference/library/3d.md#rad-og)
488−[`++rads:og`](./docs/reference/library/3d.md#rads-og)
488+[`++rads:og`](@/docs/reference/library/3d.md#rads-og)
489−[`++raku:ob`](./docs/reference/library/3f.md#raku-ob)
489+[`++raku:ob`](@/docs/reference/library/3f.md#raku-ob)
490−[`++ram:re`](./docs/reference/library/4c.md#ram-re)
490+[`++ram:re`](@/docs/reference/library/4c.md#ram-re)
491−[`++rap`](./docs/reference/library/2c.md#rap)
491+[`++rap`](@/docs/reference/library/2c.md#rap)
492−[`++rash`](./docs/reference/library/4g.md#rash)
492+[`++rash`](@/docs/reference/library/4g.md#rash)
493−[`++rau:fl`](./docs/reference/library/3b.md#rau-fl)
493+[`++rau:fl`](@/docs/reference/library/3b.md#rau-fl)
494−[`++raw:og`](./docs/reference/library/3d.md#raw-og)
494+[`++raw:og`](@/docs/reference/library/3d.md#raw-og)
495−[`++raws:og`](./docs/reference/library/3d.md#raws-og)
495+[`++raws:og`](@/docs/reference/library/3d.md#raws-og)
496−[`++re`](./docs/reference/library/4c.md#re)
496+[`++re`](@/docs/reference/library/4c.md#re)
497−[`++rear:co`](./docs/reference/library/4k.md#rear-co)
497+[`++rear:co`](@/docs/reference/library/4k.md#rear-co)
498−[`++reap`](./docs/reference/library/2b.md#reap)
498+[`++reap`](@/docs/reference/library/2b.md#reap)
499−[`++reel`](./docs/reference/library/2b.md#reel)
499+[`++reel`](@/docs/reference/library/2b.md#reel)
500−[`++rem:si`](./docs/reference/library/3a.md#rem-si)
500+[`++rem:si`](@/docs/reference/library/3a.md#rem-si)
501−[`++rend:co`](./docs/reference/library/4k.md#rend-co)
501+[`++rend:co`](@/docs/reference/library/4k.md#rend-co)
502−[`++rent:co`](./docs/reference/library/4k.md#rent-co)
502+[`++rent:co`](@/docs/reference/library/4k.md#rent-co)
503−[`++rep`](./docs/reference/library/2c.md#rep)
503+[`++rep`](@/docs/reference/library/2c.md#rep)
504−[`+-rep:by`](./docs/reference/library/2i.md#rep-by)
504+[`+-rep:by`](@/docs/reference/library/2i.md#rep-by)
505−[`+-rep:in`](./docs/reference/library/2h.md#rep-in)
505+[`+-rep:in`](@/docs/reference/library/2h.md#rep-in)
506−[`++rf:at`](./docs/reference/library/4b.md#rf-at)
506+[`++rf:at`](@/docs/reference/library/4b.md#rf-at)
507−[`+-rib:by`](./docs/reference/library/2i.md#rib-by)
507+[`+-rib:by`](@/docs/reference/library/2i.md#rib-by)
508−[`++rig:re`](./docs/reference/library/4c.md#rig-re)
508+[`++rig:re`](@/docs/reference/library/4c.md#rig-re)
509−[`++rip`](./docs/reference/library/2c.md#rip)
509+[`++rip`](@/docs/reference/library/2c.md#rip)
510−[`++rn:at`](./docs/reference/library/4b.md#rn-at)
510+[`++rn:at`](@/docs/reference/library/4b.md#rn-at)
511−[`++rol:fe`](./docs/reference/library/2c.md#rol-fe)
511+[`++rol:fe`](@/docs/reference/library/2c.md#rol-fe)
512−[`++roll`](./docs/reference/library/2b.md#roll)
512+[`++roll`](@/docs/reference/library/2b.md#roll)
513−[`++rood`](./docs/reference/library/5d.md#rood)
513+`++rood`
514−[`++ror:fe`](./docs/reference/library/2c.md#ror-fe)
514+[`++ror:fe`](@/docs/reference/library/2c.md#ror-fe)
515−[`++rou:fl`](./docs/reference/library/3b.md#rou-fl)
515+[`++rou:fl`](@/docs/reference/library/3b.md#rou-fl)
516−[`++royl:so`](./docs/reference/library/4l.md#royl-so)
516+[`++royl:so`](@/docs/reference/library/4l.md#royl-so)
517−[`++royl-cell:so`](./docs/reference/library/4l.md#royl-cell-so)
517+[`++royl-cell:so`](@/docs/reference/library/4l.md#royl-cell-so)
518−[`++rsh`](./docs/reference/library/2c.md#rsh)
518+[`++rsh`](@/docs/reference/library/2c.md#rsh)
519−[`++rt:at`](./docs/reference/library/4b.md#rt-at)
519+[`++rt:at`](@/docs/reference/library/4b.md#rt-at)
520−[`++rta:at`](./docs/reference/library/4b.md#rta-at)
520+[`++rta:at`](@/docs/reference/library/4b.md#rta-at)
521−[`++rtam:at`](./docs/reference/library/4b.md#rtam-at)
521+[`++rtam:at`](@/docs/reference/library/4b.md#rtam-at)
522−[`++rub`](./docs/reference/library/2p.md#rub)
522+[`++rub`](@/docs/reference/library/2p.md#rub)
523−[`++rub:at`](./docs/reference/library/4b.md#rub-at)
523+[`++rub:at`](@/docs/reference/library/4b.md#rub-at)
524−[`++rud:at`](./docs/reference/library/4b.md#rud-at)
524+[`++rud:at`](@/docs/reference/library/4b.md#rud-at)
525−[`++rule`](./docs/reference/library/3g.md#rule)
525+[`++rule`](@/docs/reference/library/3g.md#rule)
526−[`++rum:at`](./docs/reference/library/4b.md#rum-at)
526+[`++rum:at`](@/docs/reference/library/4b.md#rum-at)
527−[`+-run:by`](./docs/reference/library/2i.md#run-by)
527+[`+-run:by`](@/docs/reference/library/2i.md#run-by)
528−[`+-run:in`](./docs/reference/library/2h.md#run-in)
528+[`+-run:in`](@/docs/reference/library/2h.md#run-in)
529−[`++rund:ob`](./docs/reference/library/3f.md#rund-ob)
529+[`++rund:ob`](@/docs/reference/library/3f.md#rund-ob)
530−[`++runt`](./docs/reference/library/4b.md#runt)
530+[`++runt`](@/docs/reference/library/4b.md#runt)
531−[`++rup:at`](./docs/reference/library/4b.md#rup-at)
531+[`++rup:at`](@/docs/reference/library/4b.md#rup-at)
532−[`++rush`](./docs/reference/library/4g.md#rush)
532+[`++rush`](@/docs/reference/library/4g.md#rush)
533−[`++rust`](./docs/reference/library/4g.md#rust)
533+[`++rust`](@/docs/reference/library/4g.md#rust)
534−[`+-rut:by`](./docs/reference/library/2i.md#rut-by)
534+[`+-rut:by`](@/docs/reference/library/2i.md#rut-by)
535−[`++ruv:at`](./docs/reference/library/4b.md#ruv-at)
535+[`++ruv:at`](@/docs/reference/library/4b.md#ruv-at)
536−[`++rux:at`](./docs/reference/library/4b.md#rux-at)
536+[`++rux:at`](@/docs/reference/library/4b.md#rux-at)
537−[`++rynd:ob`](./docs/reference/library/3f.md#rynd-ob)
537+[`++rynd:ob`](@/docs/reference/library/3f.md#rynd-ob)
538
538
539### s
539### s
540
540
541−[`++same`](./docs/reference/library/2n.md#same)
541+[`++same`](@/docs/reference/library/2n.md#same)
542−[`++san:ff`](./docs/reference/library/3b.md#san-ff)
542+[`++san:ff`](@/docs/reference/library/3b.md#san-ff)
543−[`++san:fl`](./docs/reference/library/3b.md#san-fl)
543+[`++san:fl`](@/docs/reference/library/3b.md#san-fl)
544−[`++san:rd`](./docs/reference/library/3b.md#san-rd)
544+[`++san:rd`](@/docs/reference/library/3b.md#san-rd)
545−[`++san:rh`](./docs/reference/library/3b.md#san-rh)
545+[`++san:rh`](@/docs/reference/library/3b.md#san-rh)
546−[`++san:rs`](./docs/reference/library/3b.md#san-rs)
546+[`++san:rs`](@/docs/reference/library/3b.md#san-rs)
547−[`++san:rq`](./docs/reference/library/3b.md#san-rq)
547+[`++san:rq`](@/docs/reference/library/3b.md#san-rq)
548−[`++sand`](./docs/reference/library/4b.md#sand)
548+[`++sand`](@/docs/reference/library/4b.md#sand)
549−[`++sane`](./docs/reference/library/4b.md#sane)
549+[`++sane`](@/docs/reference/library/4b.md#sane)
550−[`++sb:ff`](./docs/reference/library/3b.md#sb-ff)
550+[`++sb:ff`](@/docs/reference/library/3b.md#sb-ff)
551−[`++scag`](./docs/reference/library/2b.md#scag)
551+[`++scag`](@/docs/reference/library/2b.md#scag)
552−[`++scan`](./docs/reference/library/4g.md#scan)
552+[`++scan`](@/docs/reference/library/4g.md#scan)
553−[`++scot`](./docs/reference/library/4m.md#scot)
553+[`++scot`](@/docs/reference/library/4m.md#scot)
554−[`++scow`](./docs/reference/library/4m.md#scow)
554+[`++scow`](@/docs/reference/library/4m.md#scow)
555−[`++sea:ff`](./docs/reference/library/3b.md#sea-ff)
555+[`++sea:ff`](@/docs/reference/library/3b.md#sea-ff)
556−[`++sea:rd`](./docs/reference/library/3b.md#sea-rd)
556+[`++sea:rd`](@/docs/reference/library/3b.md#sea-rd)
557−[`++sea:rh`](./docs/reference/library/3b.md#sea-rh)
557+[`++sea:rh`](@/docs/reference/library/3b.md#sea-rh)
558−[`++sea:rs`](./docs/reference/library/3b.md#sea-rs)
558+[`++sea:rs`](@/docs/reference/library/3b.md#sea-rs)
559−[`++sea:rq`](./docs/reference/library/3b.md#sea-rq)
559+[`++sea:rq`](@/docs/reference/library/3b.md#sea-rq)
560−[`++sear`](./docs/reference/library/4f.md#sear)
560+[`++sear`](@/docs/reference/library/4f.md#sear)
561−[`++seb:ab`](./docs/reference/library/4j.md#seb-ab)
561+[`++seb:ab`](@/docs/reference/library/4j.md#seb-ab)
562−[`++sed:ab`](./docs/reference/library/4j.md#sed-ab)
562+[`++sed:ab`](@/docs/reference/library/4j.md#sed-ab)
563−[`++sel`](./docs/reference/library/4h.md#sel)
563+[`++sel`](@/docs/reference/library/4h.md#sel)
564−[`++sem`](./docs/reference/library/4h.md#sem)
564+[`++sem`](@/docs/reference/library/4h.md#sem)
565−[`++ser`](./docs/reference/library/4h.md#ser)
565+[`++ser`](@/docs/reference/library/4h.md#ser)
566−[`++set`](./docs/reference/library/2o.md#set)
566+[`++set`](@/docs/reference/library/2o.md#set)
567−[`++sev:ab`](./docs/reference/library/4j.md#sev-ab)
567+[`++sev:ab`](@/docs/reference/library/4j.md#sev-ab)
568−[`++sew:ab`](./docs/reference/library/4j.md#sew-ab)
568+[`++sew:ab`](@/docs/reference/library/4j.md#sew-ab)
569−[`++sex:ab`](./docs/reference/library/4j.md#sex-ab)
569+[`++sex:ab`](@/docs/reference/library/4j.md#sex-ab)
570−[`++sfix`](./docs/reference/library/4e.md#sfix)
570+[`++sfix`](@/docs/reference/library/4e.md#sfix)
571−[`++shad`](./docs/reference/library/3d.md#shad)
571+[`++shad`](@/docs/reference/library/3d.md#shad)
572−[`++shaf`](./docs/reference/library/3d.md#shaf)
572+[`++shaf`](@/docs/reference/library/3d.md#shaf)
573−[`++shal`](./docs/reference/library/3d.md#shal)
573+[`++shal`](@/docs/reference/library/3d.md#shal)
574−[`++sham`](./docs/reference/library/3d.md#sham)
574+[`++sham`](@/docs/reference/library/3d.md#sham)
575−[`++shan`](./docs/reference/library/3d.md#shan)
575+[`++shan`](@/docs/reference/library/3d.md#shan)
576−[`++shas`](./docs/reference/library/3d.md#shas)
576+[`++shas`](@/docs/reference/library/3d.md#shas)
577−[`++shaw`](./docs/reference/library/3d.md#shaw)
577+[`++shaw`](@/docs/reference/library/3d.md#shaw)
578−[`++shax`](./docs/reference/library/3d.md#shax)
578+[`++shax`](@/docs/reference/library/3d.md#shax)
579−[`++shay`](./docs/reference/library/3d.md#shay)
579+[`++shay`](@/docs/reference/library/3d.md#shay)
580−[`++shaz`](./docs/reference/library/3d.md#shaz)
580+[`++shaz`](@/docs/reference/library/3d.md#shaz)
581−[`++shep`](./docs/reference/library/4c.md#shep)
581+[`++shep`](@/docs/reference/library/4c.md#shep)
582−[`++shf:fl`](./docs/reference/library/3b.md#shf-fl)
582+[`++shf:fl`](@/docs/reference/library/3b.md#shf-fl)
583−[`++shim`](./docs/reference/library/4f.md#shim)
583+[`++shim`](@/docs/reference/library/4f.md#shim)
584−[`++shop`](./docs/reference/library/4c.md#shop)
584+[`++shop`](@/docs/reference/library/4c.md#shop)
585−[`++show`](./docs/reference/library/4c.md#show)
585+[`++show`](@/docs/reference/library/4c.md#show)
586−[`++si`](./docs/reference/library/3a.md#si)
586+[`++si`](@/docs/reference/library/3a.md#si)
587−[`++si:nl`](./docs/reference/library/2m.md#si-nl)
587+[`++si:nl`](@/docs/reference/library/2m.md#si-nl)
588−[`++sib:ab`](./docs/reference/library/4j.md#sib-ab)
588+[`++sib:ab`](@/docs/reference/library/4j.md#sib-ab)
589−[`++sid:ab`](./docs/reference/library/4j.md#sid-ab)
589+[`++sid:ab`](@/docs/reference/library/4j.md#sid-ab)
590−[`++sig`](./docs/reference/library/4h.md#sig)
590+[`++sig`](@/docs/reference/library/4h.md#sig)
591−[`++sig:ff`](./docs/reference/library/3b.md#sig-ff)
591+[`++sig:ff`](@/docs/reference/library/3b.md#sig-ff)
592−[`++sig:rd`](./docs/reference/library/3b.md#sig-rd)
592+[`++sig:rd`](@/docs/reference/library/3b.md#sig-rd)
593−[`++sig:rh`](./docs/reference/library/3b.md#sig-rh)
593+[`++sig:rh`](@/docs/reference/library/3b.md#sig-rh)
594−[`++sig:rs`](./docs/reference/library/3b.md#sig-rs)
594+[`++sig:rs`](@/docs/reference/library/3b.md#sig-rs)
595−[`++sig:rq`](./docs/reference/library/3b.md#sig-rq)
595+[`++sig:rq`](@/docs/reference/library/3b.md#sig-rq)
596−[`++silt`](./docs/reference/library/2l.md#silt)
596+[`++silt`](@/docs/reference/library/2l.md#silt)
597−[`++simu`](./docs/reference/library/4e.md#simu)
597+[`++simu`](@/docs/reference/library/4e.md#simu)
598−[`++sit:fe`](./docs/reference/library/2c.md#sit-fe)
598+[`++sit:fe`](@/docs/reference/library/2c.md#sit-fe)
599−[`++sit:fo`](./docs/reference/library/3a.md#sit-fo)
599+[`++sit:fo`](@/docs/reference/library/3a.md#sit-fo)
600−[`++siv:ab`](./docs/reference/library/4j.md#siv-ab)
600+[`++siv:ab`](@/docs/reference/library/4j.md#siv-ab)
601−[`++siw:ab`](./docs/reference/library/4j.md#siw-ab)
601+[`++siw:ab`](@/docs/reference/library/4j.md#siw-ab)
602−[`++six:ab`](./docs/reference/library/4j.md#six-ab)
602+[`++six:ab`](@/docs/reference/library/4j.md#six-ab)
603−[`++skid`](./docs/reference/library/2b.md#skid)
603+[`++skid`](@/docs/reference/library/2b.md#skid)
604−[`++skim`](./docs/reference/library/2b.md#skim)
604+[`++skim`](@/docs/reference/library/2b.md#skim)
605−[`++skip`](./docs/reference/library/2b.md#skip)
605+[`++skip`](@/docs/reference/library/2b.md#skip)
606−[`++slag`](./docs/reference/library/2b.md#slag)
606+[`++slag`](@/docs/reference/library/2b.md#slag)
607−[`++slat`](./docs/reference/library/4m.md#slat)
607+[`++slat`](@/docs/reference/library/4m.md#slat)
608−[`++slav`](./docs/reference/library/4m.md#slav)
608+[`++slav`](@/docs/reference/library/4m.md#slav)
609−[`++slaw`](./docs/reference/library/4m.md#slaw)
609+[`++slaw`](@/docs/reference/library/4m.md#slaw)
610−[`++slay`](./docs/reference/library/4m.md#slay)
610+[`++slay`](@/docs/reference/library/4m.md#slay)
611−[`++slog`](./docs/reference/library/2n.md#slog)
611+[`++slog`](@/docs/reference/library/2n.md#slog)
612−[`++slug`](./docs/reference/library/4f.md#slug)
612+[`++slug`](@/docs/reference/library/4f.md#slug)
613−[`++smyt`](./docs/reference/library/4m.md#smyt)
613+[`++smyt`](@/docs/reference/library/4m.md#smyt)
614−[`++snag`](./docs/reference/library/2b.md#snag)
614+[`++snag`](@/docs/reference/library/2b.md#snag)
615−[`++snag:nl`](./docs/reference/library/2m.md#snag-nl)
615+[`++snag:nl`](@/docs/reference/library/2m.md#snag-nl)
616−[`++so`](./docs/reference/library/4l.md#so)
616+[`++so`](@/docs/reference/library/4l.md#so)
617−[`++soft`](./docs/reference/library/2n.md#soft)
617+[`++soft`](@/docs/reference/library/2n.md#soft)
618−[`++some`](./docs/reference/library/2a.md#some)
618+[`++some`](@/docs/reference/library/2a.md#some)
619−[`++soq`](./docs/reference/library/4h.md#soq)
619+[`++soq`](@/docs/reference/library/4h.md#soq)
620−[`++sort`](./docs/reference/library/2b.md#sort)
620+[`++sort`](@/docs/reference/library/2b.md#sort)
621−[`++sov:ab`](./docs/reference/library/4j.md#sov-ab)
621+[`++sov:ab`](@/docs/reference/library/4j.md#sov-ab)
622−[`++sow:ab`](./docs/reference/library/4j.md#sow-ab)
622+[`++sow:ab`](@/docs/reference/library/4j.md#sow-ab)
623−[`++sox:ab`](./docs/reference/library/4j.md#sox-ab)
623+[`++sox:ab`](@/docs/reference/library/4j.md#sox-ab)
624−[`++soz`](./docs/reference/library/4i.md#soz)
624+[`++soz`](@/docs/reference/library/4i.md#soz)
625−[`++span`](./docs/reference/library/4o.md#span)
625+[`++span`](@/docs/reference/library/4o.md#span)
626−[`++spat`](./docs/reference/library/4m.md#spat)
626+[`++spat`](@/docs/reference/library/4m.md#spat)
627−[`++spd:fl`](./docs/reference/library/3b.md#spd-fl)
627+[`++spd:fl`](@/docs/reference/library/3b.md#spd-fl)
628−[`++spin`](./docs/reference/library/2b.md#spin)
628+[`++spin`](@/docs/reference/library/2b.md#spin)
629−[`++spn:fl`](./docs/reference/library/3b.md#spn-fl)
629+[`++spn:fl`](@/docs/reference/library/3b.md#spn-fl)
630−[`++spot`](./docs/reference/library/3g.md#spot)
630+[`++spot`](@/docs/reference/library/3g.md#spot)
631−[`++spud`](./docs/reference/library/4m.md#spud)
631+[`++spud`](@/docs/reference/library/4m.md#spud)
632−[`++spun`](./docs/reference/library/2b.md#spun)
632+[`++spun`](@/docs/reference/library/2b.md#spun)
633−[`++sqt`](./docs/reference/library/2g.md#sqt)
633+[`++sqt`](@/docs/reference/library/2g.md#sqt)
634−[`++sqt:ff`](./docs/reference/library/3b.md#sqt-ff)
634+[`++sqt:ff`](@/docs/reference/library/3b.md#sqt-ff)
635−[`++sqt:fl`](./docs/reference/library/3b.md#sqt-fl)
635+[`++sqt:fl`](@/docs/reference/library/3b.md#sqt-fl)
636−[`++sqt:rd`](./docs/reference/library/3b.md#sqt-rd)
636+[`++sqt:rd`](@/docs/reference/library/3b.md#sqt-rd)
637−[`++sqt:rh`](./docs/reference/library/3b.md#sqt-rh)
637+[`++sqt:rh`](@/docs/reference/library/3b.md#sqt-rh)
638−[`++sqt:rs`](./docs/reference/library/3b.md#sqt-rs)
638+[`++sqt:rs`](@/docs/reference/library/3b.md#sqt-rs)
639−[`++sqt:rq`](./docs/reference/library/3b.md#sqt-rq)
639+[`++sqt:rq`](@/docs/reference/library/3b.md#sqt-rq)
640−[`++stab`](./docs/reference/library/4m.md#stab)
640+[`++stab`](@/docs/reference/library/4m.md#stab)
641−[`++stag`](./docs/reference/library/4f.md#stag)
641+[`++stag`](@/docs/reference/library/4f.md#stag)
642−[`++star`](./docs/reference/library/4f.md#star)
642+[`++star`](@/docs/reference/library/4f.md#star)
643−[`++stet`](./docs/reference/library/4f.md#stet)
643+[`++stet`](@/docs/reference/library/4f.md#stet)
644−[`++stew`](./docs/reference/library/4f.md#stew)
644+[`++stew`](@/docs/reference/library/4f.md#stew)
645−[`++stir`](./docs/reference/library/4f.md#stir)
645+[`++stir`](@/docs/reference/library/4f.md#stir)
646−[`++stun`](./docs/reference/library/4f.md#stun)
646+[`++stun`](@/docs/reference/library/4f.md#stun)
647−[`++sub`](./docs/reference/library/1a.md#sub)
647+[`++sub`](@/docs/reference/library/1a.md#sub)
648−[`++sub:ff`](./docs/reference/library/3b.md#sub-ff)
648+[`++sub:ff`](@/docs/reference/library/3b.md#sub-ff)
649−[`++sub:fl`](./docs/reference/library/3b.md#sub-fl)
649+[`++sub:fl`](@/docs/reference/library/3b.md#sub-fl)
650−[`++sub:rd`](./docs/reference/library/3b.md#sub-rd)
650+[`++sub:rd`](@/docs/reference/library/3b.md#sub-rd)
651−[`++sub:rh`](./docs/reference/library/3b.md#sub-rh)
651+[`++sub:rh`](@/docs/reference/library/3b.md#sub-rh)
652−[`++sub:rs`](./docs/reference/library/3b.md#sub-rs)
652+[`++sub:rs`](@/docs/reference/library/3b.md#sub-rs)
653−[`++sub:rq`](./docs/reference/library/3b.md#sub-rq)
653+[`++sub:rq`](@/docs/reference/library/3b.md#sub-rq)
654−[`++sum:fe`](./docs/reference/library/2c.md#sum-fe)
654+[`++sum:fe`](@/docs/reference/library/2c.md#sum-fe)
655−[`++sum:fo`](./docs/reference/library/3a.md#sum-fo)
655+[`++sum:fo`](@/docs/reference/library/3a.md#sum-fo)
656−[`++sum:si`](./docs/reference/library/3a.md#sum-si)
656+[`++sum:si`](@/docs/reference/library/3a.md#sum-si)
657−[`++sun:ff`](./docs/reference/library/3b.md#sun-ff)
657+[`++sun:ff`](@/docs/reference/library/3b.md#sun-ff)
658−[`++sun:fl`](./docs/reference/library/3b.md#sun-fl)
658+[`++sun:fl`](@/docs/reference/library/3b.md#sun-fl)
659−[`++sun:rd`](./docs/reference/library/3b.md#sun-rd)
659+[`++sun:rd`](@/docs/reference/library/3b.md#sun-rd)
660−[`++sun:rh`](./docs/reference/library/3b.md#sun-rh)
660+[`++sun:rh`](@/docs/reference/library/3b.md#sun-rh)
661−[`++sun:rs`](./docs/reference/library/3b.md#sun-rs)
661+[`++sun:rs`](@/docs/reference/library/3b.md#sun-rs)
662−[`++sun:rq`](./docs/reference/library/3b.md#sun-rq)
662+[`++sun:rq`](@/docs/reference/library/3b.md#sun-rq)
663−[`++sun:si`](./docs/reference/library/3a.md#sun-si)
663+[`++sun:si`](@/docs/reference/library/3a.md#sun-si)
664−[`++swag`](./docs/reference/library/2b.md#swag)
664+[`++swag`](@/docs/reference/library/2b.md#swag)
665−[`++swp`](./docs/reference/library/2c.md#swp)
665+[`++swp`](@/docs/reference/library/2c.md#swp)
666−[`++swr:fl`](./docs/reference/library/3b.md#swr-fl)
666+[`++swr:fl`](@/docs/reference/library/3b.md#swr-fl)
667−[`++sy`](./docs/reference/library/2m.md#sy)
667+[`++sy`](@/docs/reference/library/2m.md#sy)
668−[`++sym`](./docs/reference/library/4i.md#sym)
668+[`++sym`](@/docs/reference/library/4i.md#sym)
669−[`++syn:fl`](./docs/reference/library/3b.md#syn-fl)
669+[`++syn:fl`](@/docs/reference/library/3b.md#syn-fl)
670−[`++syn:si`](./docs/reference/library/3a.md#syn-si)
670+[`++syn:si`](@/docs/reference/library/3a.md#syn-si)
671
671
672### t
672### t
673
673
674−[`++tail`](./docs/reference/library/2n.md#tail)
674+[`++tail`](@/docs/reference/library/2n.md#tail)
675−[`+-tap:to`](./docs/reference/library/2k.md#tap-to)
675+[`+-tap:to`](@/docs/reference/library/2k.md#tap-to)
676−[`++tar`](./docs/reference/library/4h.md#tar)
676+[`++tar`](@/docs/reference/library/4h.md#tar)
677−[`++tang`](./docs/reference/library/2q.md#tang)
677+[`++tang`](@/docs/reference/library/2q.md#tang)
678−[`++tank`](./docs/reference/library/2q.md#tank)
678+[`++tank`](@/docs/reference/library/2q.md#tank)
679−[`+-tap:by`](./docs/reference/library/2i.md#tap-by)
679+[`+-tap:by`](@/docs/reference/library/2i.md#tap-by)
680−[`+-tap:in`](./docs/reference/library/2h.md#tap-in)
680+[`+-tap:in`](@/docs/reference/library/2h.md#tap-in)
681−[`++tape`](./docs/reference/library/2q.md#tape)
681+[`++tape`](@/docs/reference/library/2q.md#tape)
682−[`++tarp`](./docs/reference/library/2q.md#tarp)
682+[`++tarp`](@/docs/reference/library/2q.md#tarp)
683−[`++tash:so`](./docs/reference/library/4l.md#tash-so)
683+[`++tash:so`](@/docs/reference/library/4l.md#tash-so)
684−[`++tec`](./docs/reference/library/4h.md#tec)
684+[`++tec`](@/docs/reference/library/4h.md#tec)
685−[`++ted:ab`](./docs/reference/library/4j.md#ted-ab)
685+[`++ted:ab`](@/docs/reference/library/4j.md#ted-ab)
686−[`++teff`](./docs/reference/library/4b.md#teff)
686+[`++teff`](@/docs/reference/library/4b.md#teff)
687−[`++teil:ob`](./docs/reference/library/3f.md#teil-ob)
687+[`++teil:ob`](@/docs/reference/library/3f.md#teil-ob)
688−[`++term`](./docs/reference/library/2q.md#term)
688+[`++term`](@/docs/reference/library/2q.md#term)
689−[`++test`](./docs/reference/library/2n.md#test)
689+[`++test`](@/docs/reference/library/2n.md#test)
690−[`++tid:ab`](./docs/reference/library/4j.md#tid-ab)
690+[`++tid:ab`](@/docs/reference/library/4j.md#tid-ab)
691−[`++tiki`](./docs/reference/library/4o.md#tiki)
691+[`++tiki`](@/docs/reference/library/4o.md#tiki)
692−[`++til:ab`](./docs/reference/library/4j.md#til-ab)
692+[`++til:ab`](@/docs/reference/library/4j.md#til-ab)
693−[`++tip:ab`](./docs/reference/library/4j.md#tip-ab)
693+[`++tip:ab`](@/docs/reference/library/4j.md#tip-ab)
694−[`++tiq:ab`](./docs/reference/library/4j.md#tiq-ab)
694+[`++tiq:ab`](@/docs/reference/library/4j.md#tiq-ab)
695−[`++tis`](./docs/reference/library/4h.md#tis)
695+[`++tis`](@/docs/reference/library/4h.md#tis)
696−[`++to`](./docs/reference/library/2k.md#to)
696+[`++to`](@/docs/reference/library/2k.md#to)
697−[`++tod:po`](./docs/reference/library/4a.md#tod-po)
697+[`++tod:po`](@/docs/reference/library/4a.md#tod-po)
698−[`++toga`](./docs/reference/library/4o.md#toga)
698+[`++toga`](@/docs/reference/library/4o.md#toga)
699−[`++toi:ff`](./docs/reference/library/3b.md#toi-ff)
699+[`++toi:ff`](@/docs/reference/library/3b.md#toi-ff)
700−[`++toi:fl`](./docs/reference/library/3b.md#toi-fl)
700+[`++toi:fl`](@/docs/reference/library/3b.md#toi-fl)
701−[`++toi:rd`](./docs/reference/library/3b.md#toi-rd)
701+[`++toi:rd`](@/docs/reference/library/3b.md#toi-rd)
702−[`++toi:rh`](./docs/reference/library/3b.md#toi-rh)
702+[`++toi:rh`](@/docs/reference/library/3b.md#toi-rh)
703−[`++toi:rs`](./docs/reference/library/3b.md#toi-rs)
703+[`++toi:rs`](@/docs/reference/library/3b.md#toi-rs)
704−[`++toi:rq`](./docs/reference/library/3b.md#toi-rq)
704+[`++toi:rq`](@/docs/reference/library/3b.md#toi-rq)
705−[`++toj:fl`](./docs/reference/library/3b.md#toj-fl)
705+[`++toj:fl`](@/docs/reference/library/3b.md#toj-fl)
706−[`++tone`](./docs/reference/library/3g.md#tone)
706+[`++tone`](@/docs/reference/library/3g.md#tone)
707−[`++toon`](./docs/reference/library/3g.md#toon)
707+[`++toon`](@/docs/reference/library/3g.md#toon)
708−[`+-top:to`](./docs/reference/library/2k.md#top-to)
708+[`+-top:to`](@/docs/reference/library/2k.md#top-to)
709−[`++tos:po`](./docs/reference/library/4a.md#tos-po)
709+[`++tos:po`](@/docs/reference/library/4a.md#tos-po)
710−[`++tos:rh`](./docs/reference/library/3b.md#tos-rh)
710+[`++tos:rh`](@/docs/reference/library/3b.md#tos-rh)
711−[`++trap`](./docs/reference/library/1c.md#trap)
711+[`++trap`](@/docs/reference/library/1c.md#trap)
712−[`++tree`](./docs/reference/library/1c.md#tree)
712+[`++tree`](@/docs/reference/library/1c.md#tree)
713−[`++trel`](./docs/reference/library/1c.md#trel)
713+[`++trel`](@/docs/reference/library/1c.md#trel)
714−[`++trim`](./docs/reference/library/4b.md#trim)
714+[`++trim`](@/docs/reference/library/4b.md#trim)
715−[`++trip`](./docs/reference/library/4b.md#trip)
715+[`++trip`](@/docs/reference/library/4b.md#trip)
716−[`++tuba`](./docs/reference/library/4b.md#tuba)
716+[`++tuba`](@/docs/reference/library/4b.md#tuba)
717−[`++tufa`](./docs/reference/library/4b.md#tufa)
717+[`++tufa`](@/docs/reference/library/4b.md#tufa)
718−[`++tuna`](./docs/reference/library/4o.md#tuna)
718+[`++tuna`](@/docs/reference/library/4o.md#tuna)
719−[`++tuft`](./docs/reference/library/4b.md#tuft)
719+[`++tuft`](@/docs/reference/library/4b.md#tuft)
720−[`++turf`](./docs/reference/library/4b.md#turf)
720+[`++turf`](@/docs/reference/library/4b.md#turf)
721−[`++turn`](./docs/reference/library/2b.md#turn)
721+[`++turn`](@/docs/reference/library/2b.md#turn)
722−[`++tusk`](./docs/reference/library/4o.md#tusk)
722+[`++tusk`](@/docs/reference/library/4o.md#tusk)
723−[`++twid:so`](./docs/reference/library/4l.md#twid-so)
723+[`++twid:so`](@/docs/reference/library/4l.md#twid-so)
724−[`++tyke`](./docs/reference/library/4o.md#tyke)
724+[`++tyke`](@/docs/reference/library/4o.md#tyke)
725−[`++typo`](./docs/reference/library/4o.md#typo)
725+[`++typo`](@/docs/reference/library/4o.md#typo)
726−[`++tyre`](./docs/reference/library/4o.md#tyre)
726+[`++tyre`](@/docs/reference/library/4o.md#tyre)
727
727
728### u
728### u
729
729
730−[`++un`](./docs/reference/library/3f.md#un)
730+[`++un`](@/docs/reference/library/3f.md#un)
731−[`+-uni:by`](./docs/reference/library/2i.md#uni-by)
731+[`+-uni:by`](@/docs/reference/library/2i.md#uni-by)
732−[`++uni:fl`](./docs/reference/library/3b.md#uni-fl)
732+[`++uni:fl`](@/docs/reference/library/3b.md#uni-fl)
733−[`+-uni:in`](./docs/reference/library/2h.md#uni-in)
733+[`+-uni:in`](@/docs/reference/library/2h.md#uni-in)
734−[`++unit`](./docs/reference/library/1c.md#unit)
734+[`++unit`](@/docs/reference/library/1c.md#unit)
735−[`+-urn:by`](./docs/reference/library/2i.md#urn-by)
735+[`+-urn:by`](@/docs/reference/library/2i.md#urn-by)
736−[`++urs:ab`](./docs/reference/library/4j.md#urs-ab)
736+[`++urs:ab`](@/docs/reference/library/4j.md#urs-ab)
737−[`++urt:ab`](./docs/reference/library/4j.md#urt-ab)
737+[`++urt:ab`](@/docs/reference/library/4j.md#urt-ab)
738
738
739### v
739### v
740
740
741−[`++v:ne`](./docs/reference/library/4j.md#v-ne)
741+[`++v:ne`](@/docs/reference/library/4j.md#v-ne)
742−[`++vang`](./docs/reference/library/5d.md#vang)
742+`++vang`
743−[`++vase`](./docs/reference/library/4o.md#vase)
743+[`++vase`](@/docs/reference/library/4o.md#vase)
744−[`++vast`](./docs/reference/library/5d.md#vast)
744+`++vast`
745−[`++ven`](./docs/reference/library/4i.md#ven)
745+[`++ven`](@/docs/reference/library/4i.md#ven)
746−[`++vise`](./docs/reference/library/4o.md#vise)
746+[`++vise`](@/docs/reference/library/4o.md#vise)
747−[`++vit`](./docs/reference/library/4i.md#vit)
747+[`++vit`](@/docs/reference/library/4i.md#vit)
748−[`++viz:ag`](./docs/reference/library/4j.md#viz-ag)
748+[`++viz:ag`](@/docs/reference/library/4j.md#viz-ag)
749−[`++vor`](./docs/reference/library/2f.md#vor)
749+[`++vor`](@/docs/reference/library/2f.md#vor)
750−[`++voy:ab`](./docs/reference/library/4j.md#voy-ab)
750+[`++voy:ab`](@/docs/reference/library/4j.md#voy-ab)
751−[`++vul`](./docs/reference/library/4i.md#vul)
751+[`++vul`](@/docs/reference/library/4i.md#vul)
752−[`++vum:ag`](./docs/reference/library/4j.md#vum-ag)
752+[`++vum:ag`](@/docs/reference/library/4j.md#vum-ag)
753
753
754### w
754### w
755
755
756−[`++w:ne`](./docs/reference/library/4j.md#w-ne)
756+[`++w:ne`](@/docs/reference/library/4j.md#w-ne)
757−[`++wack`](./docs/reference/library/4b.md#wack)
757+[`++wack`](@/docs/reference/library/4b.md#wack)
758−[`++wain`](./docs/reference/library/2q.md#wain)
758+[`++wain`](@/docs/reference/library/2q.md#wain)
759−[`++wall`](./docs/reference/library/2q.md#wall)
759+[`++wall`](@/docs/reference/library/2q.md#wall)
760−[`++weld`](./docs/reference/library/2b.md#weld)
760+[`++weld`](@/docs/reference/library/2b.md#weld)
761−[`++weld:nl`](./docs/reference/library/2m.md#weld-nl)
761+[`++weld:nl`](@/docs/reference/library/2m.md#weld-nl)
762−[`++welp`](./docs/reference/library/2b.md#welp)
762+[`++welp`](@/docs/reference/library/2b.md#welp)
763−[`++wick`](./docs/reference/library/4b.md#wick)
763+[`++wick`](@/docs/reference/library/4b.md#wick)
764−[`++wig:re`](./docs/reference/library/4c.md#wig-re)
764+[`++wig:re`](@/docs/reference/library/4c.md#wig-re)
765−[`++win:re`](./docs/reference/library/4c.md#win-re)
765+[`++win:re`](@/docs/reference/library/4c.md#win-re)
766−[`++wing`](./docs/reference/library/4o.md#wing)
766+[`++wing`](@/docs/reference/library/4o.md#wing)
767−[`++wiz:ag`](./docs/reference/library/4j.md#wiz-ag)
767+[`++wiz:ag`](@/docs/reference/library/4j.md#wiz-ag)
768−[`++woad`](./docs/reference/library/4b.md#woad)
768+[`++woad`](@/docs/reference/library/4b.md#woad)
769−[`++wood`](./docs/reference/library/4b.md#wood)
769+[`++wood`](@/docs/reference/library/4b.md#wood)
770−[`++wonk`](./docs/reference/library/3g.md#wonk)
770+[`++wonk`](@/docs/reference/library/3g.md#wonk)
771−[`++wred:un`](./docs/reference/library/3f.md#wred-un)
771+[`++wred:un`](@/docs/reference/library/3f.md#wred-un)
772−[`++wren:un`](./docs/reference/library/3f.md#wren-un)
772+[`++wren:un`](@/docs/reference/library/3f.md#wren-un)
773−[`++wut`](./docs/reference/library/4h.md#wut)
773+[`++wut`](@/docs/reference/library/4h.md#wut)
774−[`+-wyt:by`](./docs/reference/library/2i.md#wyt-by)
774+[`+-wyt:by`](@/docs/reference/library/2i.md#wyt-by)
775−[`+-wyt:in`](./docs/reference/library/2h.md#wyt-in)
775+[`+-wyt:in`](@/docs/reference/library/2h.md#wyt-in)
776
776
777### x
777### x
778
778
779−[`++x:ne`](./docs/reference/library/4j.md#x-ne)
779+[`++x:ne`](@/docs/reference/library/4j.md#x-ne)
780−[`++xeb`](./docs/reference/library/2c.md#xeb)
780+[`++xeb`](@/docs/reference/library/2c.md#xeb)
781−[`++xpd:fl`](./docs/reference/library/3b.md#xpd-fl)
781+[`++xpd:fl`](@/docs/reference/library/3b.md#xpd-fl)
782
782
783### y
783### y
784
784
785−[`++yall`](./docs/reference/library/3c.md#yall)
785+[`++yall`](@/docs/reference/library/3c.md#yall)
786−[`++yawn`](./docs/reference/library/3c.md#yawn)
786+[`++yawn`](@/docs/reference/library/3c.md#yawn)
787−[`++year`](./docs/reference/library/3c.md#year)
787+[`++year`](@/docs/reference/library/3c.md#year)
788−[`++yell`](./docs/reference/library/3c.md#yell)
788+[`++yell`](@/docs/reference/library/3c.md#yell)
789−[`++yelp`](./docs/reference/library/3c.md#yelp)
789+[`++yelp`](@/docs/reference/library/3c.md#yelp)
790−[`++yer:yo`](./docs/reference/library/3c.md#yer-yo)
790+[`++yer:yo`](@/docs/reference/library/3c.md#yer-yo)
791−[`++yo`](./docs/reference/library/3c.md#yo)
791+[`++yo`](@/docs/reference/library/3c.md#yo)
792−[`++yore`](./docs/reference/library/3c.md#yore)
792+[`++yore`](@/docs/reference/library/3c.md#yore)
793−[`++yule`](./docs/reference/library/3c.md#yule)
793+[`++yule`](@/docs/reference/library/3c.md#yule)
794
794
795### z
795### z
796
796
797−[`++zaft:un`](./docs/reference/library/3f.md#zaft-un)
797+[`++zaft:un`](@/docs/reference/library/3f.md#zaft-un)
798−[`++zag:mu`](./docs/reference/library/4j.md#zag-mu)
798+[`++zag:mu`](@/docs/reference/library/4j.md#zag-mu)
799−[`++zap`](./docs/reference/library/4h.md#zap)
799+[`++zap`](@/docs/reference/library/4h.md#zap)
800−[`++zart:un`](./docs/reference/library/3f.md#zart-un)
800+[`++zart:un`](@/docs/reference/library/3f.md#zart-un)
801−[`++zer:fl`](./docs/reference/library/3b.md#zer-fl)
801+[`++zer:fl`](@/docs/reference/library/3b.md#zer-fl)
802−[`++zig:mu`](./docs/reference/library/4j.md#zig-mu)
802+[`++zig:mu`](@/docs/reference/library/4j.md#zig-mu)
803−[`++zing`](./docs/reference/library/2b.md#zing)
803+[`++zing`](@/docs/reference/library/2b.md#zing)
804−[`++zug:mu`](./docs/reference/library/4j.md#zug-mu)
804+[`++zug:mu`](@/docs/reference/library/4j.md#zug-mu)
805−[`++zust:so`](./docs/reference/library/4l.md#zust-so)
805+[`++zust:so`](@/docs/reference/library/4l.md#zust-so)
806−[`++zyft:un`](./docs/reference/library/3f.md#zyft-un)
806+[`++zyft:un`](@/docs/reference/library/3f.md#zyft-un)
807−[`++zyrt:un`](./docs/reference/library/3f.md#zyrt-un)
807+[`++zyrt:un`](@/docs/reference/library/3f.md#zyrt-un)
808
808
809## By Section
809## By Section
810
810
811### 1a: basic arithmetic
811### 1a: basic arithmetic
812
812
813−[`++add`](./docs/reference/library/1a.md#add)
813+[`++add`](@/docs/reference/library/1a.md#add)
814−[`++dec`](./docs/reference/library/1a.md#dec)
814+[`++dec`](@/docs/reference/library/1a.md#dec)
815−[`++div`](./docs/reference/library/1a.md#div)
815+[`++div`](@/docs/reference/library/1a.md#div)
816−[`++dvr`](./docs/reference/library/1a.md#dvr)
816+[`++dvr`](@/docs/reference/library/1a.md#dvr)
817−[`++gte`](./docs/reference/library/1a.md#gte)
817+[`++gte`](@/docs/reference/library/1a.md#gte)
818−[`++gth`](./docs/reference/library/1a.md#gth)
818+[`++gth`](@/docs/reference/library/1a.md#gth)
819−[`++lte`](./docs/reference/library/1a.md#lte)
819+[`++lte`](@/docs/reference/library/1a.md#lte)
820−[`++lth`](./docs/reference/library/1a.md#lth)
820+[`++lth`](@/docs/reference/library/1a.md#lth)
821−[`++max`](./docs/reference/library/1a.md#max)
821+[`++max`](@/docs/reference/library/1a.md#max)
822−[`++min`](./docs/reference/library/1a.md#min)
822+[`++min`](@/docs/reference/library/1a.md#min)
823−[`++mod`](./docs/reference/library/1a.md#mod)
823+[`++mod`](@/docs/reference/library/1a.md#mod)
824−[`++mul`](./docs/reference/library/1a.md#mul)
824+[`++mul`](@/docs/reference/library/1a.md#mul)
825−[`++sub`](./docs/reference/library/1a.md#sub)
825+[`++sub`](@/docs/reference/library/1a.md#sub)
826
826
827### 1b: tree addressing
827### 1b: tree addressing
828
828
829−[`++cap`](./docs/reference/library/1b.md#cap)
829+[`++cap`](@/docs/reference/library/1b.md#cap)
830−[`++mas`](./docs/reference/library/1b.md#mas)
830+[`++mas`](@/docs/reference/library/1b.md#mas)
831−[`++peg`](./docs/reference/library/1b.md#peg)
831+[`++peg`](@/docs/reference/library/1b.md#peg)
832
832
833### 1c: molds and mold builders
833### 1c: molds and mold builders
834
834
835−[`++bloq`](./docs/reference/library/1c.md#bloq)
835+[`++bloq`](@/docs/reference/library/1c.md#bloq)
836−[`++each`](./docs/reference/library/1c.md#each)
836+[`++each`](@/docs/reference/library/1c.md#each)
837−[`++gate`](./docs/reference/library/1c.md#gate)
837+[`++gate`](@/docs/reference/library/1c.md#gate)
838−[`++list`](./docs/reference/library/1c.md#list)
838+[`++list`](@/docs/reference/library/1c.md#list)
839−[`++lone`](./docs/reference/library/1c.md#lone)
839+[`++lone`](@/docs/reference/library/1c.md#lone)
840−[`++pair`](./docs/reference/library/1c.md#pair)
840+[`++pair`](@/docs/reference/library/1c.md#pair)
841−[`++pole`](./docs/reference/library/1c.md#pole)
841+[`++pole`](@/docs/reference/library/1c.md#pole)
842−[`++quip`](./docs/reference/library/1c.md#quip)
842+[`++quip`](@/docs/reference/library/1c.md#quip)
843−[`++trap`](./docs/reference/library/1c.md#trap)
843+[`++trap`](@/docs/reference/library/1c.md#trap)
844−[`++tree`](./docs/reference/library/1c.md#tree)
844+[`++tree`](@/docs/reference/library/1c.md#tree)
845−[`++trel`](./docs/reference/library/1c.md#trel)
845+[`++trel`](@/docs/reference/library/1c.md#trel)
846−[`++unit`](./docs/reference/library/1c.md#unit)
846+[`++unit`](@/docs/reference/library/1c.md#unit)
847
847
848### 2a: unit logic
848### 2a: unit logic
849
849
850−[`++biff`](./docs/reference/library/2a.md#biff)
850+[`++biff`](@/docs/reference/library/2a.md#biff)
851−[`++bind`](./docs/reference/library/2a.md#bind)
851+[`++bind`](@/docs/reference/library/2a.md#bind)
852−[`++bond`](./docs/reference/library/2a.md#bond)
852+[`++bond`](@/docs/reference/library/2a.md#bond)
853−[`++both`](./docs/reference/library/2a.md#both)
853+[`++both`](@/docs/reference/library/2a.md#both)
854−[`++clap`](./docs/reference/library/2a.md#clap)
854+[`++clap`](@/docs/reference/library/2a.md#clap)
855−[`++drop`](./docs/reference/library/2a.md#drop)
855+[`++drop`](@/docs/reference/library/2a.md#drop)
856−[`++fall`](./docs/reference/library/2a.md#fall)
856+[`++fall`](@/docs/reference/library/2a.md#fall)
857−[`++lift`](./docs/reference/library/2a.md#lift)
857+[`++lift`](@/docs/reference/library/2a.md#lift)
858−[`++mate`](./docs/reference/library/2a.md#mate)
858+[`++mate`](@/docs/reference/library/2a.md#mate)
859−[`++need`](./docs/reference/library/2a.md#need)
859+[`++need`](@/docs/reference/library/2a.md#need)
860−[`++some`](./docs/reference/library/2a.md#some)
860+[`++some`](@/docs/reference/library/2a.md#some)
861
861
862### 2b: list logic
862### 2b: list logic
863
863
864−[`++fand`](./docs/reference/library/2b.md#fand)
864+[`++fand`](@/docs/reference/library/2b.md#fand)
865−[`++find`](./docs/reference/library/2b.md#find)
865+[`++find`](@/docs/reference/library/2b.md#find)
866−[`++flop`](./docs/reference/library/2b.md#flop)
866+[`++flop`](@/docs/reference/library/2b.md#flop)
867−[`++gulf`](./docs/reference/library/2b.md#gulf)
867+[`++gulf`](@/docs/reference/library/2b.md#gulf)
868−[`++homo`](./docs/reference/library/2b.md#homo)
868+[`++homo`](@/docs/reference/library/2b.md#homo)
869−[`++lent`](./docs/reference/library/2b.md#lent)
869+[`++lent`](@/docs/reference/library/2b.md#lent)
870−[`++levy`](./docs/reference/library/2b.md#levy)
870+[`++levy`](@/docs/reference/library/2b.md#levy)
871−[`++lien`](./docs/reference/library/2b.md#lien)
871+[`++lien`](@/docs/reference/library/2b.md#lien)
872−[`++limo`](./docs/reference/library/2b.md#limo)
872+[`++limo`](@/docs/reference/library/2b.md#limo)
873−[`++murn`](./docs/reference/library/2b.md#murn)
873+[`++murn`](@/docs/reference/library/2b.md#murn)
874−[`++oust`](./docs/reference/library/2b.md#oust)
874+[`++oust`](@/docs/reference/library/2b.md#oust)
875−[`++reap`](./docs/reference/library/2b.md#reap)
875+[`++reap`](@/docs/reference/library/2b.md#reap)
876−[`++reel`](./docs/reference/library/2b.md#reel)
876+[`++reel`](@/docs/reference/library/2b.md#reel)
877−[`++roll`](./docs/reference/library/2b.md#roll)
877+[`++roll`](@/docs/reference/library/2b.md#roll)
878−[`++scag`](./docs/reference/library/2b.md#scag)
878+[`++scag`](@/docs/reference/library/2b.md#scag)
879−[`++skid`](./docs/reference/library/2b.md#skid)
879+[`++skid`](@/docs/reference/library/2b.md#skid)
880−[`++skim`](./docs/reference/library/2b.md#skim)
880+[`++skim`](@/docs/reference/library/2b.md#skim)
881−[`++skip`](./docs/reference/library/2b.md#skip)
881+[`++skip`](@/docs/reference/library/2b.md#skip)
882−[`++slag`](./docs/reference/library/2b.md#slag)
882+[`++slag`](@/docs/reference/library/2b.md#slag)
883−[`++snag`](./docs/reference/library/2b.md#snag)
883+[`++snag`](@/docs/reference/library/2b.md#snag)
884−[`++sort`](./docs/reference/library/2b.md#sort)
884+[`++sort`](@/docs/reference/library/2b.md#sort)
885−[`++spin`](./docs/reference/library/2b.md#spin)
885+[`++spin`](@/docs/reference/library/2b.md#spin)
886−[`++spun`](./docs/reference/library/2b.md#spun)
886+[`++spun`](@/docs/reference/library/2b.md#spun)
887−[`++swag`](./docs/reference/library/2b.md#swag)
887+[`++swag`](@/docs/reference/library/2b.md#swag)
888−[`++turn`](./docs/reference/library/2b.md#turn)
888+[`++turn`](@/docs/reference/library/2b.md#turn)
889−[`++weld`](./docs/reference/library/2b.md#weld)
889+[`++weld`](@/docs/reference/library/2b.md#weld)
890−[`++welp`](./docs/reference/library/2b.md#welp)
890+[`++welp`](@/docs/reference/library/2b.md#welp)
891−[`++zing`](./docs/reference/library/2b.md#zing)
891+[`++zing`](@/docs/reference/library/2b.md#zing)
892
892
893### 2c: bit arithmetic
893### 2c: bit arithmetic
894
894
895−[`++fe`](./docs/reference/library/2c.md#fe)
895+[`++fe`](@/docs/reference/library/2c.md#fe)
896−[`++dif:fe`](./docs/reference/library/2c.md#dif-fe)
896+[`++dif:fe`](@/docs/reference/library/2c.md#dif-fe)
897−[`++inv:fe`](./docs/reference/library/2c.md#inv-fe)
897+[`++inv:fe`](@/docs/reference/library/2c.md#inv-fe)
898−[`++net:fe`](./docs/reference/library/2c.md#net-fe)
898+[`++net:fe`](@/docs/reference/library/2c.md#net-fe)
899−[`++out:fe`](./docs/reference/library/2c.md#out-fe)
899+[`++out:fe`](@/docs/reference/library/2c.md#out-fe)
900−[`++rol:fe`](./docs/reference/library/2c.md#rol-fe)
900+[`++rol:fe`](@/docs/reference/library/2c.md#rol-fe)
901−[`++ror:fe`](./docs/reference/library/2c.md#ror-fe)
901+[`++ror:fe`](@/docs/reference/library/2c.md#ror-fe)
902−[`++sit:fe`](./docs/reference/library/2c.md#sit-fe)
902+[`++sit:fe`](@/docs/reference/library/2c.md#sit-fe)
903−[`++sum:fe`](./docs/reference/library/2c.md#sum-fe)
903+[`++sum:fe`](@/docs/reference/library/2c.md#sum-fe)
904−
904+
905−[`++bex`](./docs/reference/library/2c.md#bex)
905+[`++bex`](@/docs/reference/library/2c.md#bex)
906−[`++can`](./docs/reference/library/2c.md#can)
906+[`++can`](@/docs/reference/library/2c.md#can)
907−[`++cat`](./docs/reference/library/2c.md#cat)
907+[`++cat`](@/docs/reference/library/2c.md#cat)
908−[`++cut`](./docs/reference/library/2c.md#cut)
908+[`++cut`](@/docs/reference/library/2c.md#cut)
909−[`++end`](./docs/reference/library/2c.md#end)
909+[`++end`](@/docs/reference/library/2c.md#end)
910−[`++fil`](./docs/reference/library/2c.md#fil)
910+[`++fil`](@/docs/reference/library/2c.md#fil)
911−[`++lsh`](./docs/reference/library/2c.md#lsh)
911+[`++lsh`](@/docs/reference/library/2c.md#lsh)
912−[`++met`](./docs/reference/library/2c.md#met)
912+[`++met`](@/docs/reference/library/2c.md#met)
913−[`++rap`](./docs/reference/library/2c.md#rap)
913+[`++rap`](@/docs/reference/library/2c.md#rap)
914−[`++rep`](./docs/reference/library/2c.md#rep)
914+[`++rep`](@/docs/reference/library/2c.md#rep)
915−[`++rip`](./docs/reference/library/2c.md#rip)
915+[`++rip`](@/docs/reference/library/2c.md#rip)
916−[`++rsh`](./docs/reference/library/2c.md#rsh)
916+[`++rsh`](@/docs/reference/library/2c.md#rsh)
917−[`++swp`](./docs/reference/library/2c.md#swp)
917+[`++swp`](@/docs/reference/library/2c.md#swp)
918−[`++xeb`](./docs/reference/library/2c.md#xeb)
918+[`++xeb`](@/docs/reference/library/2c.md#xeb)
919
919
920### 2d: bit logic
920### 2d: bit logic
921
921
922−[`++con`](./docs/reference/library/2d.md#con)
922+[`++con`](@/docs/reference/library/2d.md#con)
923−[`++dis`](./docs/reference/library/2d.md#dis)
923+[`++dis`](@/docs/reference/library/2d.md#dis)
924−[`++mix`](./docs/reference/library/2d.md#mix)
924+[`++mix`](@/docs/reference/library/2d.md#mix)
925−[`++not`](./docs/reference/library/2d.md#not)
925+[`++not`](@/docs/reference/library/2d.md#not)
926
926
927### 2e: insecure hashing
927### 2e: insecure hashing
928
928
929−[`++fnv`](./docs/reference/library/2e.md#fnv)
929+[`++fnv`](@/docs/reference/library/2e.md#fnv)
930−[`++mug`](./docs/reference/library/2e.md#mug)
930+[`++mug`](@/docs/reference/library/2e.md#mug)
931−[`++muk`](./docs/reference/library/2e.md#muk)
931+[`++muk`](@/docs/reference/library/2e.md#muk)
932−[`++mum`](./docs/reference/library/2e.md#mum)
932+[`++mum`](@/docs/reference/library/2e.md#mum)
933
933
934### 2f: noun ordering
934### 2f: noun ordering
935
935
936−[`++aor`](./docs/reference/library/2f.md#aor)
936+[`++aor`](@/docs/reference/library/2f.md#aor)
937−[`++dor`](./docs/reference/library/2f.md#dor)
937+[`++dor`](@/docs/reference/library/2f.md#dor)
938−[`++gor`](./docs/reference/library/2f.md#gor)
938+[`++gor`](@/docs/reference/library/2f.md#gor)
939−[`++hor`](./docs/reference/library/2f.md#hor)
939+[`++hor`](@/docs/reference/library/2f.md#hor)
940−[`++lor`](./docs/reference/library/2f.md#lor)
940+[`++lor`](@/docs/reference/library/2f.md#lor)
941−[`++vor`](./docs/reference/library/2f.md#vor)
941+[`++vor`](@/docs/reference/library/2f.md#vor)
942
942
943### 2g: unsigned powers
943### 2g: unsigned powers
944
944
945−[`++pow`](./docs/reference/library/2g.md#pow)
945+[`++pow`](@/docs/reference/library/2g.md#pow)
946−[`++sqt`](./docs/reference/library/2g.md#sqt)
946+[`++sqt`](@/docs/reference/library/2g.md#sqt)
947
947
948### 2h: set logic
948### 2h: set logic
949
949
950−[`++in`](./docs/reference/library/2h.md#in)
950+[`++in`](@/docs/reference/library/2h.md#in)
951−[`+-all:in`](./docs/reference/library/2h.md#all-in)
951+[`+-all:in`](@/docs/reference/library/2h.md#all-in)
952−[`+-any:in`](./docs/reference/library/2h.md#any-in)
952+[`+-any:in`](@/docs/reference/library/2h.md#any-in)
953−[`+-apt:in`](./docs/reference/library/2h.md#apt-in)
953+[`+-apt:in`](@/docs/reference/library/2h.md#apt-in)
954−[`+-bif:in`](./docs/reference/library/2h.md#bif-in)
954+[`+-bif:in`](@/docs/reference/library/2h.md#bif-in)
955−[`+-del:in`](./docs/reference/library/2h.md#del-in)
955+[`+-del:in`](@/docs/reference/library/2h.md#del-in)
956−[`+-dif:in`](./docs/reference/library/2h.md#dif-in)
956+[`+-dif:in`](@/docs/reference/library/2h.md#dif-in)
957−[`+-dig:in`](./docs/reference/library/2h.md#dig-in)
957+[`+-dig:in`](@/docs/reference/library/2h.md#dig-in)
958−[`+-gas:in`](./docs/reference/library/2h.md#gas-in)
958+[`+-gas:in`](@/docs/reference/library/2h.md#gas-in)
959−[`+-has:in`](./docs/reference/library/2h.md#has-in)
959+[`+-has:in`](@/docs/reference/library/2h.md#has-in)
960−[`+-int:in`](./docs/reference/library/2h.md#int-in)
960+[`+-int:in`](@/docs/reference/library/2h.md#int-in)
961−[`+-put:in`](./docs/reference/library/2h.md#put-in)
961+[`+-put:in`](@/docs/reference/library/2h.md#put-in)
962−[`+-rep:in`](./docs/reference/library/2h.md#rep-in)
962+[`+-rep:in`](@/docs/reference/library/2h.md#rep-in)
963−[`+-run:in`](./docs/reference/library/2h.md#run-in)
963+[`+-run:in`](@/docs/reference/library/2h.md#run-in)
964−[`+-tap:in`](./docs/reference/library/2h.md#tap-in)
964+[`+-tap:in`](@/docs/reference/library/2h.md#tap-in)
965−[`+-uni:in`](./docs/reference/library/2h.md#uni-in)
965+[`+-uni:in`](@/docs/reference/library/2h.md#uni-in)
966−[`+-wyt:in`](./docs/reference/library/2h.md#wyt-in)
966+[`+-wyt:in`](@/docs/reference/library/2h.md#wyt-in)
967
967
968### 2i: map logic
968### 2i: map logic
969
969
970−[`++by`](./docs/reference/library/2i.md#by)
970+[`++by`](@/docs/reference/library/2i.md#by)
971−[`+-all:by`](./docs/reference/library/2i.md#all-by)
971+[`+-all:by`](@/docs/reference/library/2i.md#all-by)
972−[`+-any:by`](./docs/reference/library/2i.md#any-by)
972+[`+-any:by`](@/docs/reference/library/2i.md#any-by)
973−[`+-apt:by`](./docs/reference/library/2i.md#apt-by)
973+[`+-apt:by`](@/docs/reference/library/2i.md#apt-by)
974−[`+-bif:by`](./docs/reference/library/2i.md#bif-by)
974+[`+-bif:by`](@/docs/reference/library/2i.md#bif-by)
975−[`+-def:by`](./docs/reference/library/2i.md#def-by)
975+[`+-def:by`](@/docs/reference/library/2i.md#def-by)
976−[`+-del:by`](./docs/reference/library/2i.md#del-by)
976+[`+-del:by`](@/docs/reference/library/2i.md#del-by)
977−[`+-dep:by`](./docs/reference/library/2i.md#dep-by)
977+[`+-dep:by`](@/docs/reference/library/2i.md#dep-by)
978−[`+-dig:by`](./docs/reference/library/2i.md#dig-by)
978+[`+-dig:by`](@/docs/reference/library/2i.md#dig-by)
979−[`+-gas:by`](./docs/reference/library/2i.md#gas-by)
979+[`+-gas:by`](@/docs/reference/library/2i.md#gas-by)
980−[`+-get:by`](./docs/reference/library/2i.md#get-by)
980+[`+-get:by`](@/docs/reference/library/2i.md#get-by)
981−[`+-got:by`](./docs/reference/library/2i.md#got-by)
981+[`+-got:by`](@/docs/reference/library/2i.md#got-by)
982−[`+-has:by`](./docs/reference/library/2i.md#has-by)
982+[`+-has:by`](@/docs/reference/library/2i.md#has-by)
983−[`+-int:by`](./docs/reference/library/2i.md#int-by)
983+[`+-int:by`](@/docs/reference/library/2i.md#int-by)
984−[`+-mar:by`](./docs/reference/library/2i.md#mar-by)
984+[`+-mar:by`](@/docs/reference/library/2i.md#mar-by)
985−[`+-put:by`](./docs/reference/library/2i.md#put-by)
985+[`+-put:by`](@/docs/reference/library/2i.md#put-by)
986−[`+-rep:by`](./docs/reference/library/2i.md#rep-by)
986+[`+-rep:by`](@/docs/reference/library/2i.md#rep-by)
987−[`+-rib:by`](./docs/reference/library/2i.md#rib-by)
987+[`+-rib:by`](@/docs/reference/library/2i.md#rib-by)
988−[`+-run:by`](./docs/reference/library/2i.md#run-by)
988+[`+-run:by`](@/docs/reference/library/2i.md#run-by)
989−[`+-rut:by`](./docs/reference/library/2i.md#rut-by)
989+[`+-rut:by`](@/docs/reference/library/2i.md#rut-by)
990−[`+-tap:by`](./docs/reference/library/2i.md#tap-by)
990+[`+-tap:by`](@/docs/reference/library/2i.md#tap-by)
991−[`+-uni:by`](./docs/reference/library/2i.md#uni-by)
991+[`+-uni:by`](@/docs/reference/library/2i.md#uni-by)
992−[`+-urn:by`](./docs/reference/library/2i.md#urn-by)
992+[`+-urn:by`](@/docs/reference/library/2i.md#urn-by)
993−[`+-wyt:by`](./docs/reference/library/2i.md#wyt-by)
993+[`+-wyt:by`](@/docs/reference/library/2i.md#wyt-by)
994
994
995### 2j: jar and jug logic
995### 2j: jar and jug logic
996
996
997−[`++ja`](./docs/reference/library/2j.md#ja)
997+[`++ja`](@/docs/reference/library/2j.md#ja)
998−[`+-add:ja`](./docs/reference/library/2j.md#add-ja)
998+[`+-add:ja`](@/docs/reference/library/2j.md#add-ja)
999−[`+-get:ja`](./docs/reference/library/2j.md#get-ja)
999+[`+-get:ja`](@/docs/reference/library/2j.md#get-ja)
1000
1000
1001−[`++ju`](./docs/reference/library/2j.md#ju)
1001+[`++ju`](@/docs/reference/library/2j.md#ju)
1002−[`+-del:ju`](./docs/reference/library/2j.md#del-ju)
1002+[`+-del:ju`](@/docs/reference/library/2j.md#del-ju)
1003−[`+-get:ju`](./docs/reference/library/2j.md#get-ju)
1003+[`+-get:ju`](@/docs/reference/library/2j.md#get-ju)
1004−[`+-has:ju`](./docs/reference/library/2j.md#has-ju)
1004+[`+-has:ju`](@/docs/reference/library/2j.md#has-ju)
1005−[`+-put:ju`](./docs/reference/library/2j.md#put-ju)
1005+[`+-put:ju`](@/docs/reference/library/2j.md#put-ju)
1006
1006
1007### 2k: queue logic
1007### 2k: queue logic
1008
1008
1009−[`++to`](./docs/reference/library/2k.md#to)
1009+[`++to`](@/docs/reference/library/2k.md#to)
1010−[`+-bal:to`](./docs/reference/library/2k.md#bal-to)
1010+[`+-bal:to`](@/docs/reference/library/2k.md#bal-to)
1011−[`+-dep:to`](./docs/reference/library/2k.md#dep-to)
1011+[`+-dep:to`](@/docs/reference/library/2k.md#dep-to)
1012−[`+-gas:to`](./docs/reference/library/2k.md#gas-to)
1012+[`+-gas:to`](@/docs/reference/library/2k.md#gas-to)
1013−[`+-get:to`](./docs/reference/library/2k.md#get-to)
1013+[`+-get:to`](@/docs/reference/library/2k.md#get-to)
1014−[`+-nap:to`](./docs/reference/library/2k.md#nap-to)
1014+[`+-nap:to`](@/docs/reference/library/2k.md#nap-to)
1015−[`+-nip:to`](./docs/reference/library/2k.md#nip-to)
1015+[`+-nip:to`](@/docs/reference/library/2k.md#nip-to)
1016−[`+-put:to`](./docs/reference/library/2k.md#put-to)
1016+[`+-put:to`](@/docs/reference/library/2k.md#put-to)
1017−[`+-tap:to`](./docs/reference/library/2k.md#tap-to)
1017+[`+-tap:to`](@/docs/reference/library/2k.md#tap-to)
1018−[`+-top:to`](./docs/reference/library/2k.md#top-to)
1018+[`+-top:to`](@/docs/reference/library/2k.md#top-to)
1019
1019
1020### 2l: container from container
1020### 2l: container from container
1021
1021
1022−[`++malt`](./docs/reference/library/2l.md#malt)
1022+[`++malt`](@/docs/reference/library/2l.md#malt)
1023−[`++molt`](./docs/reference/library/2l.md#molt)
1023+[`++molt`](@/docs/reference/library/2l.md#molt)
1024−[`++silt`](./docs/reference/library/2l.md#silt)
1024+[`++silt`](@/docs/reference/library/2l.md#silt)
1025
1025
1026### 2m: container from noun
1026### 2m: container from noun
1027
1027
1028−[`++nl`](./docs/reference/library/2m.md#nl)
1028+[`++nl`](@/docs/reference/library/2m.md#nl)
1029−[`++le:nl`](./docs/reference/library/2m.md#le-nl)
1029+[`++le:nl`](@/docs/reference/library/2m.md#le-nl)
1030−[`++my:nl`](./docs/reference/library/2m.md#my-nl)
1030+[`++my:nl`](@/docs/reference/library/2m.md#my-nl)
1031−[`++si:nl`](./docs/reference/library/2m.md#si-nl)
1031+[`++si:nl`](@/docs/reference/library/2m.md#si-nl)
1032−[`++snag:nl`](./docs/reference/library/2m.md#snag-nl)
1032+[`++snag:nl`](@/docs/reference/library/2m.md#snag-nl)
1033−[`++weld:nl`](./docs/reference/library/2m.md#weld-nl)
1033+[`++weld:nl`](@/docs/reference/library/2m.md#weld-nl)
1034
1034
1035−[`++ly`](./docs/reference/library/2m.md#ly)
1035+[`++ly`](@/docs/reference/library/2m.md#ly)
1036−[`++my`](./docs/reference/library/2m.md#my)
1036+[`++my`](@/docs/reference/library/2m.md#my)
1037−[`++sy`](./docs/reference/library/2m.md#sy)
1037+[`++sy`](@/docs/reference/library/2m.md#sy)
1038
1038
1039### 2n: functional hacks
1039### 2n: functional hacks
1040
1040
1041−[`++cork`](./docs/reference/library/2n.md#cork)
1041+[`++cork`](@/docs/reference/library/2n.md#cork)
1042−[`++corl`](./docs/reference/library/2n.md#corl)
1042+[`++corl`](@/docs/reference/library/2n.md#corl)
1043−[`++curr`](./docs/reference/library/2n.md#curr)
1043+[`++curr`](@/docs/reference/library/2n.md#curr)
1044−[`++cury`](./docs/reference/library/2n.md#cury)
1044+[`++cury`](@/docs/reference/library/2n.md#cury)
1045−[`++hard`](./docs/reference/library/2n.md#hard)
1045+[`++hard`](@/docs/reference/library/2n.md#hard)
1046−[`++head`](./docs/reference/library/2n.md#head)
1046+[`++head`](@/docs/reference/library/2n.md#head)
1047−[`++mean`](./docs/reference/library/2n.md#mean)
1047+[`++mean`](@/docs/reference/library/2n.md#mean)
1048−[`++same`](./docs/reference/library/2n.md#same)
1048+[`++same`](@/docs/reference/library/2n.md#same)
1049−[`++slog`](./docs/reference/library/2n.md#slog)
1049+[`++slog`](@/docs/reference/library/2n.md#slog)
1050−[`++soft`](./docs/reference/library/2n.md#soft)
1050+[`++soft`](@/docs/reference/library/2n.md#soft)
1051−[`++tail`](./docs/reference/library/2n.md#tail)
1051+[`++tail`](@/docs/reference/library/2n.md#tail)
1052−[`++test`](./docs/reference/library/2n.md#test)
1052+[`++test`](@/docs/reference/library/2n.md#test)
1053
1053
1054### 2o: normalizing containers
1054### 2o: normalizing containers
1055
1055
1056−[`++jar`](./docs/reference/library/2o.md#jar)
1056+[`++jar`](@/docs/reference/library/2o.md#jar)
1057−[`++jug`](./docs/reference/library/2o.md#jug)
1057+[`++jug`](@/docs/reference/library/2o.md#jug)
1058−[`++map`](./docs/reference/library/2o.md#map)
1058+[`++map`](@/docs/reference/library/2o.md#map)
1059−[`++qeu`](./docs/reference/library/2o.md#qeu)
1059+[`++qeu`](@/docs/reference/library/2o.md#qeu)
1060−[`++set`](./docs/reference/library/2o.md#set)
1060+[`++set`](@/docs/reference/library/2o.md#set)
1061
1061
1062### 2p: serialization
1062### 2p: serialization
1063
1063
1064−[`++cue`](./docs/reference/library/2p.md#cue)
1064+[`++cue`](@/docs/reference/library/2p.md#cue)
1065−[`++jam`](./docs/reference/library/2p.md#jam)
1065+[`++jam`](@/docs/reference/library/2p.md#jam)
1066−[`++mat`](./docs/reference/library/2p.md#mat)
1066+[`++mat`](@/docs/reference/library/2p.md#mat)
1067−[`++rub`](./docs/reference/library/2p.md#rub)
1067+[`++rub`](@/docs/reference/library/2p.md#rub)
1068
1068
1069### 2q: molds and mold builders
1069### 2q: molds and mold builders
1070
1070
1071−[`++char`](./docs/reference/library/2q.md#char)
1071+[`++char`](@/docs/reference/library/2q.md#char)
1072−[`++cord`](./docs/reference/library/2q.md#cord)
1072+[`++cord`](@/docs/reference/library/2q.md#cord)
1073−[`++date`](./docs/reference/library/2q.md#date)
1073+[`++date`](@/docs/reference/library/2q.md#date)
1074−[`++knot`](./docs/reference/library/2q.md#knot)
1074+[`++knot`](@/docs/reference/library/2q.md#knot)
1075−[`++tang`](./docs/reference/library/2q.md#tang)
1075+[`++tang`](@/docs/reference/library/2q.md#tang)
1076−[`++tank`](./docs/reference/library/2q.md#tank)
1076+[`++tank`](@/docs/reference/library/2q.md#tank)
1077−[`++tape`](./docs/reference/library/2q.md#tape)
1077+[`++tape`](@/docs/reference/library/2q.md#tape)
1078−[`++tarp`](./docs/reference/library/2q.md#tarp)
1078+[`++tarp`](@/docs/reference/library/2q.md#tarp)
1079−[`++term`](./docs/reference/library/2q.md#term)
1079+[`++term`](@/docs/reference/library/2q.md#term)
1080−[`++wain`](./docs/reference/library/2q.md#wain)
1080+[`++wain`](@/docs/reference/library/2q.md#wain)
1081−[`++wall`](./docs/reference/library/2q.md#wall)
1081+[`++wall`](@/docs/reference/library/2q.md#wall)
1082
1082
1083### 3a: modular and signed ints
1083### 3a: modular and signed ints
1084
1084
1085−[`++fo`](./docs/reference/library/3a.md#fo)
1085+[`++fo`](@/docs/reference/library/3a.md#fo)
1086−[`++dif:fo`](./docs/reference/library/3a.md#dif-fo)
1086+[`++dif:fo`](@/docs/reference/library/3a.md#dif-fo)
1087−[`++exp:fo`](./docs/reference/library/3a.md#exp-fo)
1087+[`++exp:fo`](@/docs/reference/library/3a.md#exp-fo)
1088−[`++fra:fo`](./docs/reference/library/3a.md#fra-fo)
1088+[`++fra:fo`](@/docs/reference/library/3a.md#fra-fo)
1089−[`++inv:fo`](./docs/reference/library/3a.md#inv-fo)
1089+[`++inv:fo`](@/docs/reference/library/3a.md#inv-fo)
1090−[`++pro:fo`](./docs/reference/library/3a.md#pro-fo)
1090+[`++pro:fo`](@/docs/reference/library/3a.md#pro-fo)
1091−[`++sit:fo`](./docs/reference/library/3a.md#sit-fo)
1091+[`++sit:fo`](@/docs/reference/library/3a.md#sit-fo)
1092−[`++sum:fo`](./docs/reference/library/3a.md#sum-fo)
1092+[`++sum:fo`](@/docs/reference/library/3a.md#sum-fo)
1093−
1093+
1094−[`++si`](./docs/reference/library/3a.md#si)
1094+[`++si`](@/docs/reference/library/3a.md#si)
1095−[`++abs:si`](./docs/reference/library/3a.md#abs-si)
1095+[`++abs:si`](@/docs/reference/library/3a.md#abs-si)
1096−[`++cmp:si`](./docs/reference/library/3a.md#cmp-si)
1096+[`++cmp:si`](@/docs/reference/library/3a.md#cmp-si)
1097−[`++dif:si`](./docs/reference/library/3a.md#dif-si)
1097+[`++dif:si`](@/docs/reference/library/3a.md#dif-si)
1098−[`++dul:si`](./docs/reference/library/3a.md#dul-si)
1098+[`++dul:si`](@/docs/reference/library/3a.md#dul-si)
1099−[`++fra:si`](./docs/reference/library/3a.md#fra-si)
1099+[`++fra:si`](@/docs/reference/library/3a.md#fra-si)
1100−[`++new:si`](./docs/reference/library/3a.md#new-si)
1100+[`++new:si`](@/docs/reference/library/3a.md#new-si)
1101−[`++old:si`](./docs/reference/library/3a.md#old-si)
1101+[`++old:si`](@/docs/reference/library/3a.md#old-si)
1102−[`++pro:si`](./docs/reference/library/3a.md#pro-si)
1102+[`++pro:si`](@/docs/reference/library/3a.md#pro-si)
1103−[`++rem:si`](./docs/reference/library/3a.md#rem-si)
1103+[`++rem:si`](@/docs/reference/library/3a.md#rem-si)
1104−[`++sum:si`](./docs/reference/library/3a.md#sum-si)
1104+[`++sum:si`](@/docs/reference/library/3a.md#sum-si)
1105−[`++sun:si`](./docs/reference/library/3a.md#sun-si)
1105+[`++sun:si`](@/docs/reference/library/3a.md#sun-si)
1106−[`++syn:si`](./docs/reference/library/3a.md#syn-si)
1106+[`++syn:si`](@/docs/reference/library/3a.md#syn-si)
1107−
1107+
1108−[`++egcd`](./docs/reference/library/3a.md#egcd)
1108+[`++egcd`](@/docs/reference/library/3a.md#egcd)
1109
1109
1110### 3b: floating point
1110### 3b: floating point
1111
1111
1112−[`++dn`](./docs/reference/library/3b.md#dn)
1112+[`++dn`](@/docs/reference/library/3b.md#dn)
1113−[`++fn`](./docs/reference/library/3b.md#fn)
1113+[`++fn`](@/docs/reference/library/3b.md#fn)
1114−[`++rn`](./docs/reference/library/3b.md#rn)
1114+[`++rn`](@/docs/reference/library/3b.md#rn)
1115−
1115+
1116−[`++ff`](./docs/reference/library/3b.md#ff)
1116+[`++ff`](@/docs/reference/library/3b.md#ff)
1117−[`++add:ff`](./docs/reference/library/3b.md#add-ff)
1117+[`++add:ff`](@/docs/reference/library/3b.md#add-ff)
1118−[`++bif:ff`](./docs/reference/library/3b.md#bif-ff)
1118+[`++bif:ff`](@/docs/reference/library/3b.md#bif-ff)
1119−[`++bit:ff`](./docs/reference/library/3b.md#bit-ff)
1119+[`++bit:ff`](@/docs/reference/library/3b.md#bit-ff)
1120−[`++div:ff`](./docs/reference/library/3b.md#div-ff)
1120+[`++div:ff`](@/docs/reference/library/3b.md#div-ff)
1121−[`++drg:ff`](./docs/reference/library/3b.md#drg-ff)
1121+[`++drg:ff`](@/docs/reference/library/3b.md#drg-ff)
1122−[`++equ:ff`](./docs/reference/library/3b.md#equ-ff)
1122+[`++equ:ff`](@/docs/reference/library/3b.md#equ-ff)
1123−[`++exp:ff`](./docs/reference/library/3b.md#exp-ff)
1123+[`++exp:ff`](@/docs/reference/library/3b.md#exp-ff)
1124−[`++fma:ff`](./docs/reference/library/3b.md#fma-ff)
1124+[`++fma:ff`](@/docs/reference/library/3b.md#fma-ff)
1125−[`++grd:ff`](./docs/reference/library/3b.md#grd-ff)
1125+[`++grd:ff`](@/docs/reference/library/3b.md#grd-ff)
1126−[`++gte:ff`](./docs/reference/library/3b.md#gte-ff)
1126+[`++gte:ff`](@/docs/reference/library/3b.md#gte-ff)
1127−[`++gth:ff`](./docs/reference/library/3b.md#gth-ff)
1127+[`++gth:ff`](@/docs/reference/library/3b.md#gth-ff)
1128−[`++lte:ff`](./docs/reference/library/3b.md#lte-ff)
1128+[`++lte:ff`](@/docs/reference/library/3b.md#lte-ff)
1129−[`++lth:ff`](./docs/reference/library/3b.md#lth-ff)
1129+[`++lth:ff`](@/docs/reference/library/3b.md#lth-ff)
1130−[`++me:ff`](./docs/reference/library/3b.md#me-ff)
1130+[`++me:ff`](@/docs/reference/library/3b.md#me-ff)
1131−[`++mul:ff`](./docs/reference/library/3b.md#mul-ff)
1131+[`++mul:ff`](@/docs/reference/library/3b.md#mul-ff)
1132−[`++pa:ff`](./docs/reference/library/3b.md#pa-ff)
1132+[`++pa:ff`](@/docs/reference/library/3b.md#pa-ff)
1133−[`++san:ff`](./docs/reference/library/3b.md#san-ff)
1133+[`++san:ff`](@/docs/reference/library/3b.md#san-ff)
1134−[`++sb:ff`](./docs/reference/library/3b.md#sb-ff)
1134+[`++sb:ff`](@/docs/reference/library/3b.md#sb-ff)
1135−[`++sea:ff`](./docs/reference/library/3b.md#sea-ff)
1135+[`++sea:ff`](@/docs/reference/library/3b.md#sea-ff)
1136−[`++sig:ff`](./docs/reference/library/3b.md#sig-ff)
1136+[`++sig:ff`](@/docs/reference/library/3b.md#sig-ff)
1137−[`++sqt:ff`](./docs/reference/library/3b.md#sqt-ff)
1137+[`++sqt:ff`](@/docs/reference/library/3b.md#sqt-ff)
1138−[`++sub:ff`](./docs/reference/library/3b.md#sub-ff)
1138+[`++sub:ff`](@/docs/reference/library/3b.md#sub-ff)
1139−[`++sun:ff`](./docs/reference/library/3b.md#sun-ff)
1139+[`++sun:ff`](@/docs/reference/library/3b.md#sun-ff)
1140−[`++toi:ff`](./docs/reference/library/3b.md#toi-ff)
1140+[`++toi:ff`](@/docs/reference/library/3b.md#toi-ff)
1141−
1141+
1142−[`++fl`](./docs/reference/library/3b.md#fl)
1142+[`++fl`](@/docs/reference/library/3b.md#fl)
1143−[`++abs:fl`](./docs/reference/library/3b.md#abs-fl)
1143+[`++abs:fl`](@/docs/reference/library/3b.md#abs-fl)
1144−[`++add:fl`](./docs/reference/library/3b.md#add-fl)
1144+[`++add:fl`](@/docs/reference/library/3b.md#add-fl)
1145−[`++den:fl`](./docs/reference/library/3b.md#den-fl)
1145+[`++den:fl`](@/docs/reference/library/3b.md#den-fl)
1146−[`++div:fl`](./docs/reference/library/3b.md#div-fl)
1146+[`++div:fl`](@/docs/reference/library/3b.md#div-fl)
1147−[`++drg:fl`](./docs/reference/library/3b.md#drg-fl)
1147+[`++drg:fl`](@/docs/reference/library/3b.md#drg-fl)
1148−[`++ead:fl`](./docs/reference/library/3b.md#ead-fl)
1148+[`++ead:fl`](@/docs/reference/library/3b.md#ead-fl)
1149−[`++emn:fl`](./docs/reference/library/3b.md#emn-fl)
1149+[`++emn:fl`](@/docs/reference/library/3b.md#emn-fl)
1150−[`++emu:fl`](./docs/reference/library/3b.md#emu-fl)
1150+[`++emu:fl`](@/docs/reference/library/3b.md#emu-fl)
1151−[`++emx:fl`](./docs/reference/library/3b.md#emx-fl)
1151+[`++emx:fl`](@/docs/reference/library/3b.md#emx-fl)
1152−[`++equ:fl`](./docs/reference/library/3b.md#equ-fl)
1152+[`++equ:fl`](@/docs/reference/library/3b.md#equ-fl)
1153−[`++fli:fl`](./docs/reference/library/3b.md#fli-fl)
1153+[`++fli:fl`](@/docs/reference/library/3b.md#fli-fl)
1154−[`++fma:fl`](./docs/reference/library/3b.md#fma-fl)
1154+[`++fma:fl`](@/docs/reference/library/3b.md#fma-fl)
1155−[`++grd:fl`](./docs/reference/library/3b.md#grd-fl)
1155+[`++grd:fl`](@/docs/reference/library/3b.md#grd-fl)
1156−[`++gte:fl`](./docs/reference/library/3b.md#gte-fl)
1156+[`++gte:fl`](@/docs/reference/library/3b.md#gte-fl)
1157−[`++gth:fl`](./docs/reference/library/3b.md#gth-fl)
1157+[`++gth:fl`](@/docs/reference/library/3b.md#gth-fl)
1158−[`++ibl:fl`](./docs/reference/library/3b.md#ibl-fl)
1158+[`++ibl:fl`](@/docs/reference/library/3b.md#ibl-fl)
1159−[`++inv:fl`](./docs/reference/library/3b.md#inv-fl)
1159+[`++inv:fl`](@/docs/reference/library/3b.md#inv-fl)
1160−[`++lfe:fl`](./docs/reference/library/3b.md#lfe-fl)
1160+[`++lfe:fl`](@/docs/reference/library/3b.md#lfe-fl)
1161−[`++lfn:fl`](./docs/reference/library/3b.md#lfn-fl)
1161+[`++lfn:fl`](@/docs/reference/library/3b.md#lfn-fl)
1162−[`++lte:fl`](./docs/reference/library/3b.md#lte-fl)
1162+[`++lte:fl`](@/docs/reference/library/3b.md#lte-fl)
1163−[`++lth:fl`](./docs/reference/library/3b.md#lth-fl)
1163+[`++lth:fl`](@/docs/reference/library/3b.md#lth-fl)
1164−[`++lug:fl`](./docs/reference/library/3b.md#lug-fl)
1164+[`++lug:fl`](@/docs/reference/library/3b.md#lug-fl)
1165−[`++mul:fl`](./docs/reference/library/3b.md#mul-fl)
1165+[`++mul:fl`](@/docs/reference/library/3b.md#mul-fl)
1166−[`++ned:fl`](./docs/reference/library/3b.md#ned-fl)
1166+[`++ned:fl`](@/docs/reference/library/3b.md#ned-fl)
1167−[`++prc:fl`](./docs/reference/library/3b.md#prc-fl)
1167+[`++prc:fl`](@/docs/reference/library/3b.md#prc-fl)
1168−[`++rau:fl`](./docs/reference/library/3b.md#rau-fl)
1168+[`++rau:fl`](@/docs/reference/library/3b.md#rau-fl)
1169−[`++rou:fl`](./docs/reference/library/3b.md#rou-fl)
1169+[`++rou:fl`](@/docs/reference/library/3b.md#rou-fl)
1170−[`++san:fl`](./docs/reference/library/3b.md#san-fl)
1170+[`++san:fl`](@/docs/reference/library/3b.md#san-fl)
1171−[`++shf:fl`](./docs/reference/library/3b.md#shf-fl)
1171+[`++shf:fl`](@/docs/reference/library/3b.md#shf-fl)
1172−[`++spd:fl`](./docs/reference/library/3b.md#spd-fl)
1172+[`++spd:fl`](@/docs/reference/library/3b.md#spd-fl)
1173−[`++spn:fl`](./docs/reference/library/3b.md#spn-fl)
1173+[`++spn:fl`](@/docs/reference/library/3b.md#spn-fl)
1174−[`++sqt:fl`](./docs/reference/library/3b.md#sqt-fl)
1174+[`++sqt:fl`](@/docs/reference/library/3b.md#sqt-fl)
1175−[`++sub:fl`](./docs/reference/library/3b.md#sub-fl)
1175+[`++sub:fl`](@/docs/reference/library/3b.md#sub-fl)
1176−[`++sun:fl`](./docs/reference/library/3b.md#sun-fl)
1176+[`++sun:fl`](@/docs/reference/library/3b.md#sun-fl)
1177−[`++swr:fl`](./docs/reference/library/3b.md#swr-fl)
1177+[`++swr:fl`](@/docs/reference/library/3b.md#swr-fl)
1178−[`++syn:fl`](./docs/reference/library/3b.md#syn-fl)
1178+[`++syn:fl`](@/docs/reference/library/3b.md#syn-fl)
1179−[`++toi:fl`](./docs/reference/library/3b.md#toi-fl)
1179+[`++toi:fl`](@/docs/reference/library/3b.md#toi-fl)
1180−[`++toj:fl`](./docs/reference/library/3b.md#toj-fl)
1180+[`++toj:fl`](@/docs/reference/library/3b.md#toj-fl)
1181−[`++uni:fl`](./docs/reference/library/3b.md#uni-fl)
1181+[`++uni:fl`](@/docs/reference/library/3b.md#uni-fl)
1182−[`++xpd:fl`](./docs/reference/library/3b.md#xpd-fl)
1182+[`++xpd:fl`](@/docs/reference/library/3b.md#xpd-fl)
1183−[`++zer:fl`](./docs/reference/library/3b.md#zer-fl)
1183+[`++zer:fl`](@/docs/reference/library/3b.md#zer-fl)
1184−
1184+
1185−[`++rd`](./docs/reference/library/3b.md#rd)
1185+[`++rd`](@/docs/reference/library/3b.md#rd)
1186−[`++add:rd`](./docs/reference/library/3b.md#add-rd)
1186+[`++add:rd`](@/docs/reference/library/3b.md#add-rd)
1187−[`++bit:rd`](./docs/reference/library/3b.md#bit-rd)
1187+[`++bit:rd`](@/docs/reference/library/3b.md#bit-rd)
1188−[`++div:rd`](./docs/reference/library/3b.md#div-rd)
1188+[`++div:rd`](@/docs/reference/library/3b.md#div-rd)
1189−[`++drg:rd`](./docs/reference/library/3b.md#drg-rd)
1189+[`++drg:rd`](@/docs/reference/library/3b.md#drg-rd)
1190−[`++equ:rd`](./docs/reference/library/3b.md#equ-rd)
1190+[`++equ:rd`](@/docs/reference/library/3b.md#equ-rd)
1191−[`++exp:rd`](./docs/reference/library/3b.md#exp-rd)
1191+[`++exp:rd`](@/docs/reference/library/3b.md#exp-rd)
1192−[`++fma:rd`](./docs/reference/library/3b.md#fma-rd)
1192+[`++fma:rd`](@/docs/reference/library/3b.md#fma-rd)
1193−[`++grd:rd`](./docs/reference/library/3b.md#grd-rd)
1193+[`++grd:rd`](@/docs/reference/library/3b.md#grd-rd)
1194−[`++gte:rd`](./docs/reference/library/3b.md#gte-rd)
1194+[`++gte:rd`](@/docs/reference/library/3b.md#gte-rd)
1195−[`++gth:rd`](./docs/reference/library/3b.md#gth-rd)
1195+[`++gth:rd`](@/docs/reference/library/3b.md#gth-rd)
1196−[`++lte:rd`](./docs/reference/library/3b.md#lte-rd)
1196+[`++lte:rd`](@/docs/reference/library/3b.md#lte-rd)
1197−[`++lth:rd`](./docs/reference/library/3b.md#lth-rd)
1197+[`++lth:rd`](@/docs/reference/library/3b.md#lth-rd)
1198−[`++ma:rd`](./docs/reference/library/3b.md#ma-rd)
1198+[`++ma:rd`](@/docs/reference/library/3b.md#ma-rd)
1199−[`++mul:rd`](./docs/reference/library/3b.md#mul-rd)
1199+[`++mul:rd`](@/docs/reference/library/3b.md#mul-rd)
1200−[`++san:rd`](./docs/reference/library/3b.md#san-rd)
1200+[`++san:rd`](@/docs/reference/library/3b.md#san-rd)
1201−[`++sea:rd`](./docs/reference/library/3b.md#sea-rd)
1201+[`++sea:rd`](@/docs/reference/library/3b.md#sea-rd)
1202−[`++sig:rd`](./docs/reference/library/3b.md#sig-rd)
1202+[`++sig:rd`](@/docs/reference/library/3b.md#sig-rd)
1203−[`++sqt:rd`](./docs/reference/library/3b.md#sqt-rd)
1203+[`++sqt:rd`](@/docs/reference/library/3b.md#sqt-rd)
1204−[`++sub:rd`](./docs/reference/library/3b.md#sub-rd)
1204+[`++sub:rd`](@/docs/reference/library/3b.md#sub-rd)
1205−[`++sun:rd`](./docs/reference/library/3b.md#sun-rd)
1205+[`++sun:rd`](@/docs/reference/library/3b.md#sun-rd)
1206−[`++toi:rd`](./docs/reference/library/3b.md#toi-rd)
1206+[`++toi:rd`](@/docs/reference/library/3b.md#toi-rd)
1207−
1207+
1208−[`++rh`](./docs/reference/library/3b.md#rh)
1208+[`++rh`](@/docs/reference/library/3b.md#rh)
1209−[`++add:rh`](./docs/reference/library/3b.md#add-rh)
1209+[`++add:rh`](@/docs/reference/library/3b.md#add-rh)
1210−[`++bit:rh`](./docs/reference/library/3b.md#bit-rh)
1210+[`++bit:rh`](@/docs/reference/library/3b.md#bit-rh)
1211−[`++div:rh`](./docs/reference/library/3b.md#div-rh)
1211+[`++div:rh`](@/docs/reference/library/3b.md#div-rh)
1212−[`++drg:rh`](./docs/reference/library/3b.md#drg-rh)
1212+[`++drg:rh`](@/docs/reference/library/3b.md#drg-rh)
1213−[`++equ:rh`](./docs/reference/library/3b.md#equ-rh)
1213+[`++equ:rh`](@/docs/reference/library/3b.md#equ-rh)
1214−[`++exp:rh`](./docs/reference/library/3b.md#exp-rh)
1214+[`++exp:rh`](@/docs/reference/library/3b.md#exp-rh)
1215−[`++fma:rh`](./docs/reference/library/3b.md#fma-rh)
1215+[`++fma:rh`](@/docs/reference/library/3b.md#fma-rh)
1216−[`++fos:rh`](./docs/reference/library/3b.md#fos-rh)
1216+[`++fos:rh`](@/docs/reference/library/3b.md#fos-rh)
1217−[`++grd:rh`](./docs/reference/library/3b.md#grd-rh)
1217+[`++grd:rh`](@/docs/reference/library/3b.md#grd-rh)
1218−[`++gte:rh`](./docs/reference/library/3b.md#gte-rh)
1218+[`++gte:rh`](@/docs/reference/library/3b.md#gte-rh)
1219−[`++gth:rh`](./docs/reference/library/3b.md#gth-rh)
1219+[`++gth:rh`](@/docs/reference/library/3b.md#gth-rh)
1220−[`++lte:rh`](./docs/reference/library/3b.md#lte-rh)
1220+[`++lte:rh`](@/docs/reference/library/3b.md#lte-rh)
1221−[`++lth:rh`](./docs/reference/library/3b.md#lth-rh)
1221+[`++lth:rh`](@/docs/reference/library/3b.md#lth-rh)
1222−[`++ma:rh`](./docs/reference/library/3b.md#ma-rh)
1222+[`++ma:rh`](@/docs/reference/library/3b.md#ma-rh)
1223−[`++mul:rh`](./docs/reference/library/3b.md#mul-rh)
1223+[`++mul:rh`](@/docs/reference/library/3b.md#mul-rh)
1224−[`++san:rh`](./docs/reference/library/3b.md#san-rh)
1224+[`++san:rh`](@/docs/reference/library/3b.md#san-rh)
1225−[`++sea:rh`](./docs/reference/library/3b.md#sea-rh)
1225+[`++sea:rh`](@/docs/reference/library/3b.md#sea-rh)
1226−[`++sig:rh`](./docs/reference/library/3b.md#sig-rh)
1226+[`++sig:rh`](@/docs/reference/library/3b.md#sig-rh)
1227−[`++sqt:rh`](./docs/reference/library/3b.md#sqt-rh)
1227+[`++sqt:rh`](@/docs/reference/library/3b.md#sqt-rh)
1228−[`++sub:rh`](./docs/reference/library/3b.md#sub-rh)
1228+[`++sub:rh`](@/docs/reference/library/3b.md#sub-rh)
1229−[`++sun:rh`](./docs/reference/library/3b.md#sun-rh)
1229+[`++sun:rh`](@/docs/reference/library/3b.md#sun-rh)
1230−[`++toi:rh`](./docs/reference/library/3b.md#toi-rh)
1230+[`++toi:rh`](@/docs/reference/library/3b.md#toi-rh)
1231−[`++tos:rh`](./docs/reference/library/3b.md#tos-rh)
1231+[`++tos:rh`](@/docs/reference/library/3b.md#tos-rh)
1232−
1232+
1233−[`++rs`](./docs/reference/library/3b.md#rs)
1233+[`++rs`](@/docs/reference/library/3b.md#rs)
1234−[`++add:rs`](./docs/reference/library/3b.md#add-rs)
1234+[`++add:rs`](@/docs/reference/library/3b.md#add-rs)
1235−[`++bit:rs`](./docs/reference/library/3b.md#bit-rs)
1235+[`++bit:rs`](@/docs/reference/library/3b.md#bit-rs)
1236−[`++div:rs`](./docs/reference/library/3b.md#div-rs)
1236+[`++div:rs`](@/docs/reference/library/3b.md#div-rs)
1237−[`++drg:rs`](./docs/reference/library/3b.md#drg-rs)
1237+[`++drg:rs`](@/docs/reference/library/3b.md#drg-rs)
1238−[`++equ:rs`](./docs/reference/library/3b.md#equ-rs)
1238+[`++equ:rs`](@/docs/reference/library/3b.md#equ-rs)
1239−[`++exp:rs`](./docs/reference/library/3b.md#exp-rs)
1239+[`++exp:rs`](@/docs/reference/library/3b.md#exp-rs)
1240−[`++fma:rs`](./docs/reference/library/3b.md#fma-rs)
1240+[`++fma:rs`](@/docs/reference/library/3b.md#fma-rs)
1241−[`++grd:rs`](./docs/reference/library/3b.md#grd-rs)
1241+[`++grd:rs`](@/docs/reference/library/3b.md#grd-rs)
1242−[`++gte:rs`](./docs/reference/library/3b.md#gte-rs)
1242+[`++gte:rs`](@/docs/reference/library/3b.md#gte-rs)
1243−[`++gth:rs`](./docs/reference/library/3b.md#gth-rs)
1243+[`++gth:rs`](@/docs/reference/library/3b.md#gth-rs)
1244−[`++lte:rs`](./docs/reference/library/3b.md#lte-rs)
1244+[`++lte:rs`](@/docs/reference/library/3b.md#lte-rs)
1245−[`++lth:rs`](./docs/reference/library/3b.md#lth-rs)
1245+[`++lth:rs`](@/docs/reference/library/3b.md#lth-rs)
1246−[`++ma:rs`](./docs/reference/library/3b.md#ma-rs)
1246+[`++ma:rs`](@/docs/reference/library/3b.md#ma-rs)
1247−[`++mul:rs`](./docs/reference/library/3b.md#mul-rs)
1247+[`++mul:rs`](@/docs/reference/library/3b.md#mul-rs)
1248−[`++san:rs`](./docs/reference/library/3b.md#san-rs)
1248+[`++san:rs`](@/docs/reference/library/3b.md#san-rs)
1249−[`++sea:rs`](./docs/reference/library/3b.md#sea-rs)
1249+[`++sea:rs`](@/docs/reference/library/3b.md#sea-rs)
1250−[`++sig:rs`](./docs/reference/library/3b.md#sig-rs)
1250+[`++sig:rs`](@/docs/reference/library/3b.md#sig-rs)
1251−[`++sqt:rs`](./docs/reference/library/3b.md#sqt-rs)
1251+[`++sqt:rs`](@/docs/reference/library/3b.md#sqt-rs)
1252−[`++sub:rs`](./docs/reference/library/3b.md#sub-rs)
1252+[`++sub:rs`](@/docs/reference/library/3b.md#sub-rs)
1253−[`++sun:rs`](./docs/reference/library/3b.md#sun-rs)
1253+[`++sun:rs`](@/docs/reference/library/3b.md#sun-rs)
1254−[`++toi:rs`](./docs/reference/library/3b.md#toi-rs)
1254+[`++toi:rs`](@/docs/reference/library/3b.md#toi-rs)
1255−
1255+
1256−[`++rq`](./docs/reference/library/3b.md#rq)
1256+[`++rq`](@/docs/reference/library/3b.md#rq)
1257−[`++add:rq`](./docs/reference/library/3b.md#add-rq)
1257+[`++add:rq`](@/docs/reference/library/3b.md#add-rq)
1258−[`++bit:rq`](./docs/reference/library/3b.md#bit-rq)
1258+[`++bit:rq`](@/docs/reference/library/3b.md#bit-rq)
1259−[`++div:rq`](./docs/reference/library/3b.md#div-rq)
1259+[`++div:rq`](@/docs/reference/library/3b.md#div-rq)
1260−[`++drg:rq`](./docs/reference/library/3b.md#drg-rq)
1260+[`++drg:rq`](@/docs/reference/library/3b.md#drg-rq)
1261−[`++equ:rq`](./docs/reference/library/3b.md#equ-rq)
1261+[`++equ:rq`](@/docs/reference/library/3b.md#equ-rq)
1262−[`++exp:rq`](./docs/reference/library/3b.md#exp-rq)
1262+[`++exp:rq`](@/docs/reference/library/3b.md#exp-rq)
1263−[`++fma:rq`](./docs/reference/library/3b.md#fma-rq)
1263+[`++fma:rq`](@/docs/reference/library/3b.md#fma-rq)
1264−[`++grd:rq`](./docs/reference/library/3b.md#grd-rq)
1264+[`++grd:rq`](@/docs/reference/library/3b.md#grd-rq)
1265−[`++gte:rq`](./docs/reference/library/3b.md#gte-rq)
1265+[`++gte:rq`](@/docs/reference/library/3b.md#gte-rq)
1266−[`++gth:rq`](./docs/reference/library/3b.md#gth-rq)
1266+[`++gth:rq`](@/docs/reference/library/3b.md#gth-rq)
1267−[`++lte:rq`](./docs/reference/library/3b.md#lte-rq)
1267+[`++lte:rq`](@/docs/reference/library/3b.md#lte-rq)
1268−[`++lth:rq`](./docs/reference/library/3b.md#lth-rq)
1268+[`++lth:rq`](@/docs/reference/library/3b.md#lth-rq)
1269−[`++ma:rq`](./docs/reference/library/3b.md#ma-rq)
1269+[`++ma:rq`](@/docs/reference/library/3b.md#ma-rq)
1270−[`++mul:rq`](./docs/reference/library/3b.md#mul-rq)
1270+[`++mul:rq`](@/docs/reference/library/3b.md#mul-rq)
1271−[`++san:rq`](./docs/reference/library/3b.md#san-rq)
1271+[`++san:rq`](@/docs/reference/library/3b.md#san-rq)
1272−[`++sea:rq`](./docs/reference/library/3b.md#sea-rq)
1272+[`++sea:rq`](@/docs/reference/library/3b.md#sea-rq)
1273−[`++sig:rq`](./docs/reference/library/3b.md#sig-rq)
1273+[`++sig:rq`](@/docs/reference/library/3b.md#sig-rq)
1274−[`++sqt:rq`](./docs/reference/library/3b.md#sqt-rq)
1274+[`++sqt:rq`](@/docs/reference/library/3b.md#sqt-rq)
1275−[`++sub:rq`](./docs/reference/library/3b.md#sub-rq)
1275+[`++sub:rq`](@/docs/reference/library/3b.md#sub-rq)
1276−[`++sun:rq`](./docs/reference/library/3b.md#sun-rq)
1276+[`++sun:rq`](@/docs/reference/library/3b.md#sun-rq)
1277−[`++toi:rq`](./docs/reference/library/3b.md#toi-rq)
1277+[`++toi:rq`](@/docs/reference/library/3b.md#toi-rq)
1278−
1278+
1279−[`++rlyd`](./docs/reference/library/3b.md#rlyd)
1279+[`++rlyd`](@/docs/reference/library/3b.md#rlyd)
1280−[`++rlyh`](./docs/reference/library/3b.md#rlyh)
1280+[`++rlyh`](@/docs/reference/library/3b.md#rlyh)
1281−[`++rlyq`](./docs/reference/library/3b.md#rlyq)
1281+[`++rlyq`](@/docs/reference/library/3b.md#rlyq)
1282−[`++rlys`](./docs/reference/library/3b.md#rlys)
1282+[`++rlys`](@/docs/reference/library/3b.md#rlys)
1283−[`++ryld`](./docs/reference/library/3b.md#ryld)
1283+[`++ryld`](@/docs/reference/library/3b.md#ryld)
1284−[`++rylh`](./docs/reference/library/3b.md#rylh)
1284+[`++rylh`](@/docs/reference/library/3b.md#rylh)
1285−[`++rylq`](./docs/reference/library/3b.md#rylq)
1285+[`++rylq`](@/docs/reference/library/3b.md#rylq)
1286−[`++ryls`](./docs/reference/library/3b.md#ryls)
1286+[`++ryls`](@/docs/reference/library/3b.md#ryls)
1287
1287
1288### 3c: urbit time
1288### 3c: urbit time
1289
1289
1290−[`++yo`](./docs/reference/library/3c.md#yo)
1290+[`++yo`](@/docs/reference/library/3c.md#yo)
1291−[`++cet:yo`](./docs/reference/library/3c.md#cet-yo)
1291+[`++cet:yo`](@/docs/reference/library/3c.md#cet-yo)
1292−[`++day:yo`](./docs/reference/library/3c.md#day-yo)
1292+[`++day:yo`](@/docs/reference/library/3c.md#day-yo)
1293−[`++era:yo`](./docs/reference/library/3c.md#era-yo)
1293+[`++era:yo`](@/docs/reference/library/3c.md#era-yo)
1294−[`++hor:yo`](./docs/reference/library/3c.md#hor-yo)
1294+[`++hor:yo`](@/docs/reference/library/3c.md#hor-yo)
1295−[`++jes:yo`](./docs/reference/library/3c.md#jes-yo)
1295+[`++jes:yo`](@/docs/reference/library/3c.md#jes-yo)
1296−[`++mit:yo`](./docs/reference/library/3c.md#mit-yo)
1296+[`++mit:yo`](@/docs/reference/library/3c.md#mit-yo)
1297−[`++moh:yo`](./docs/reference/library/3c.md#moh-yo)
1297+[`++moh:yo`](@/docs/reference/library/3c.md#moh-yo)
1298−[`++moy:yo`](./docs/reference/library/3c.md#moy-yo)
1298+[`++moy:yo`](@/docs/reference/library/3c.md#moy-yo)
1299−[`++qad:yo`](./docs/reference/library/3c.md#qad-yo)
1299+[`++qad:yo`](@/docs/reference/library/3c.md#qad-yo)
1300−[`++yer:yo`](./docs/reference/library/3c.md#yer-yo)
1300+[`++yer:yo`](@/docs/reference/library/3c.md#yer-yo)
1301−
1301+
1302−[`++yall`](./docs/reference/library/3c.md#yall)
1302+[`++yall`](@/docs/reference/library/3c.md#yall)
1303−[`++yawn`](./docs/reference/library/3c.md#yawn)
1303+[`++yawn`](@/docs/reference/library/3c.md#yawn)
1304−[`++year`](./docs/reference/library/3c.md#year)
1304+[`++year`](@/docs/reference/library/3c.md#year)
1305−[`++yell`](./docs/reference/library/3c.md#yell)
1305+[`++yell`](@/docs/reference/library/3c.md#yell)
1306−[`++yelp`](./docs/reference/library/3c.md#yelp)
1306+[`++yelp`](@/docs/reference/library/3c.md#yelp)
1307−[`++yore`](./docs/reference/library/3c.md#yore)
1307+[`++yore`](@/docs/reference/library/3c.md#yore)
1308−[`++yule`](./docs/reference/library/3c.md#yule)
1308+[`++yule`](@/docs/reference/library/3c.md#yule)
1309
1309
1310### 3d: SHA hash family
1310### 3d: SHA hash family
1311
1311
1312−[`++og`](./docs/reference/library/3d.md#og)
1312+[`++og`](@/docs/reference/library/3d.md#og)
1313−[`++rad:og`](./docs/reference/library/3d.md#rad-og)
1313+[`++rad:og`](@/docs/reference/library/3d.md#rad-og)
1314−[`++rads:og`](./docs/reference/library/3d.md#rads-og)
1314+[`++rads:og`](@/docs/reference/library/3d.md#rads-og)
1315−[`++raw:og`](./docs/reference/library/3d.md#raw-og)
1315+[`++raw:og`](@/docs/reference/library/3d.md#raw-og)
1316−[`++raws:og`](./docs/reference/library/3d.md#raws-og)
1316+[`++raws:og`](@/docs/reference/library/3d.md#raws-og)
1317−
1317+
1318−[`++shad`](./docs/reference/library/3d.md#shad)
1318+[`++shad`](@/docs/reference/library/3d.md#shad)
1319−[`++shaf`](./docs/reference/library/3d.md#shaf)
1319+[`++shaf`](@/docs/reference/library/3d.md#shaf)
1320−[`++shal`](./docs/reference/library/3d.md#shal)
1320+[`++shal`](@/docs/reference/library/3d.md#shal)
1321−[`++sham`](./docs/reference/library/3d.md#sham)
1321+[`++sham`](@/docs/reference/library/3d.md#sham)
1322−[`++shan`](./docs/reference/library/3d.md#shan)
1322+[`++shan`](@/docs/reference/library/3d.md#shan)
1323−[`++shas`](./docs/reference/library/3d.md#shas)
1323+[`++shas`](@/docs/reference/library/3d.md#shas)
1324−[`++shaw`](./docs/reference/library/3d.md#shaw)
1324+[`++shaw`](@/docs/reference/library/3d.md#shaw)
1325−[`++shax`](./docs/reference/library/3d.md#shax)
1325+[`++shax`](@/docs/reference/library/3d.md#shax)
1326−[`++shay`](./docs/reference/library/3d.md#shay)
1326+[`++shay`](@/docs/reference/library/3d.md#shay)
1327−[`++shaz`](./docs/reference/library/3d.md#shaz)
1327+[`++shaz`](@/docs/reference/library/3d.md#shaz)
1328
1328
1329### 3e: AES encryption
1329### 3e: AES encryption
1330
1330
1331−[_(removed)_](./docs/reference/library/3e.md)
1331+[_(removed)_](@/docs/reference/library/3e.md)
1332
1332
1333### 3f: scrambling
1333### 3f: scrambling
1334
1334
1335−[`++ob`](./docs/reference/library/3f.md#ob)
1335+[`++ob`](@/docs/reference/library/3f.md#ob)
1336−[`++feen:ob`](./docs/reference/library/3f.md#feen-ob)
1336+[`++feen:ob`](@/docs/reference/library/3f.md#feen-ob)
1337−[`++fend:ob`](./docs/reference/library/3f.md#fend-ob)
1337+[`++fend:ob`](@/docs/reference/library/3f.md#fend-ob)
1338−[`++fice:ob`](./docs/reference/library/3f.md#fice-ob)
1338+[`++fice:ob`](@/docs/reference/library/3f.md#fice-ob)
1339−[`++raku:ob`](./docs/reference/library/3f.md#raku-ob)
1339+[`++raku:ob`](@/docs/reference/library/3f.md#raku-ob)
1340−[`++rund:ob`](./docs/reference/library/3f.md#rund-ob)
1340+[`++rund:ob`](@/docs/reference/library/3f.md#rund-ob)
1341−[`++rynd:ob`](./docs/reference/library/3f.md#rynd-ob)
1341+[`++rynd:ob`](@/docs/reference/library/3f.md#rynd-ob)
1342−[`++teil:ob`](./docs/reference/library/3f.md#teil-ob)
1342+[`++teil:ob`](@/docs/reference/library/3f.md#teil-ob)
1343−
1343+
1344−[`++un`](./docs/reference/library/3f.md#un)
1344+[`++un`](@/docs/reference/library/3f.md#un)
1345−[`++wred:un`](./docs/reference/library/3f.md#wred-un)
1345+[`++wred:un`](@/docs/reference/library/3f.md#wred-un)
1346−[`++wren:un`](./docs/reference/library/3f.md#wren-un)
1346+[`++wren:un`](@/docs/reference/library/3f.md#wren-un)
1347−[`++xafo:un`](./docs/reference/library/3f.md#xafo-un)
1347+[`++xafo:un`](@/docs/reference/library/3f.md#xafo-un)
1348−[`++xaro:un`](./docs/reference/library/3f.md#xaro-un)
1348+[`++xaro:un`](@/docs/reference/library/3f.md#xaro-un)
1349−[`++zaft:un`](./docs/reference/library/3f.md#zaft-un)
1349+[`++zaft:un`](@/docs/reference/library/3f.md#zaft-un)
1350−[`++zart:un`](./docs/reference/library/3f.md#zart-un)
1350+[`++zart:un`](@/docs/reference/library/3f.md#zart-un)
1351−[`++zyft:un`](./docs/reference/library/3f.md#zyft-un)
1351+[`++zyft:un`](@/docs/reference/library/3f.md#zyft-un)
1352−[`++zyrt:un`](./docs/reference/library/3f.md#zyrt-un)
1352+[`++zyrt:un`](@/docs/reference/library/3f.md#zyrt-un)
1353
1353
1354### 3g: molds and mold builders
1354### 3g: molds and mold builders
1355
1355
1356−[`++coin`](./docs/reference/library/3g.md#coin)
1356+[`++coin`](@/docs/reference/library/3g.md#coin)
1357−[`++dime`](./docs/reference/library/3g.md#dime)
1357+[`++dime`](@/docs/reference/library/3g.md#dime)
1358−[`++edge`](./docs/reference/library/3g.md#edge)
1358+[`++edge`](@/docs/reference/library/3g.md#edge)
1359−[`++hair`](./docs/reference/library/3g.md#hair)
1359+[`++hair`](@/docs/reference/library/3g.md#hair)
1360−[`++like`](./docs/reference/library/3g.md#like)
1360+[`++like`](@/docs/reference/library/3g.md#like)
1361−[`++nail`](./docs/reference/library/3g.md#nail)
1361+[`++nail`](@/docs/reference/library/3g.md#nail)
1362−[`++path`](./docs/reference/library/3g.md#path)
1362+[`++path`](@/docs/reference/library/3g.md#path)
1363−[`++pint`](./docs/reference/library/3g.md#pint)
1363+[`++pint`](@/docs/reference/library/3g.md#pint)
1364−[`++rule`](./docs/reference/library/3g.md#rule)
1364+[`++rule`](@/docs/reference/library/3g.md#rule)
1365−[`++spot`](./docs/reference/library/3g.md#spot)
1365+[`++spot`](@/docs/reference/library/3g.md#spot)
1366−[`++tone`](./docs/reference/library/3g.md#tone)
1366+[`++tone`](@/docs/reference/library/3g.md#tone)
1367−[`++toon`](./docs/reference/library/3g.md#toon)
1367+[`++toon`](@/docs/reference/library/3g.md#toon)
1368−[`++wonk`](./docs/reference/library/3g.md#wonk)
1368+[`++wonk`](@/docs/reference/library/3g.md#wonk)
1369
1369
1370### 4a: exotic bases
1370### 4a: exotic bases
1371
1371
1372−[`++po`](./docs/reference/library/4a.md#po)
1372+[`++po`](@/docs/reference/library/4a.md#po)
1373−[`++ind:po`](./docs/reference/library/4a.md#ind-po)
1373+[`++ind:po`](@/docs/reference/library/4a.md#ind-po)
1374−[`++ins:po`](./docs/reference/library/4a.md#ins-po)
1374+[`++ins:po`](@/docs/reference/library/4a.md#ins-po)
1375−[`++tod:po`](./docs/reference/library/4a.md#tod-po)
1375+[`++tod:po`](@/docs/reference/library/4a.md#tod-po)
1376−[`++tos:po`](./docs/reference/library/4a.md#tos-po)
1376+[`++tos:po`](@/docs/reference/library/4a.md#tos-po)
1377
1377
1378### 4b: text processing
1378### 4b: text processing
1379
1379
1380−[`++at`](./docs/reference/library/4b.md#at)
1380+[`++at`](@/docs/reference/library/4b.md#at)
1381−[`++r:at`](./docs/reference/library/4b.md#r-at)
1381+[`++r:at`](@/docs/reference/library/4b.md#r-at)
1382−[`++rf:at`](./docs/reference/library/4b.md#rf-at)
1382+[`++rf:at`](@/docs/reference/library/4b.md#rf-at)
1383−[`++rn:at`](./docs/reference/library/4b.md#rn-at)
1383+[`++rn:at`](@/docs/reference/library/4b.md#rn-at)
1384−[`++rt:at`](./docs/reference/library/4b.md#rt-at)
1384+[`++rt:at`](@/docs/reference/library/4b.md#rt-at)
1385−[`++rta:at`](./docs/reference/library/4b.md#rta-at)
1385+[`++rta:at`](@/docs/reference/library/4b.md#rta-at)
1386−[`++rtam:at`](./docs/reference/library/4b.md#rtam-at)
1386+[`++rtam:at`](@/docs/reference/library/4b.md#rtam-at)
1387−[`++rub:at`](./docs/reference/library/4b.md#rub-at)
1387+[`++rub:at`](@/docs/reference/library/4b.md#rub-at)
1388−[`++rud:at`](./docs/reference/library/4b.md#rud-at)
1388+[`++rud:at`](@/docs/reference/library/4b.md#rud-at)
1389−[`++rum:at`](./docs/reference/library/4b.md#rum-at)
1389+[`++rum:at`](@/docs/reference/library/4b.md#rum-at)
1390−[`++rup:at`](./docs/reference/library/4b.md#rup-at)
1390+[`++rup:at`](@/docs/reference/library/4b.md#rup-at)
1391−[`++ruv:at`](./docs/reference/library/4b.md#ruv-at)
1391+[`++ruv:at`](@/docs/reference/library/4b.md#ruv-at)
1392−[`++rux:at`](./docs/reference/library/4b.md#rux-at)
1392+[`++rux:at`](@/docs/reference/library/4b.md#rux-at)
1393−
1393+
1394−[`++cass`](./docs/reference/library/4b.md#cass)
1394+[`++cass`](@/docs/reference/library/4b.md#cass)
1395−[`++crip`](./docs/reference/library/4b.md#crip)
1395+[`++crip`](@/docs/reference/library/4b.md#crip)
1396−[`++cuss`](./docs/reference/library/4b.md#cuss)
1396+[`++cuss`](@/docs/reference/library/4b.md#cuss)
1397−[`++mesc`](./docs/reference/library/4b.md#mesc)
1397+[`++mesc`](@/docs/reference/library/4b.md#mesc)
1398−[`++runt`](./docs/reference/library/4b.md#runt)
1398+[`++runt`](@/docs/reference/library/4b.md#runt)
1399−[`++sand`](./docs/reference/library/4b.md#sand)
1399+[`++sand`](@/docs/reference/library/4b.md#sand)
1400−[`++sane`](./docs/reference/library/4b.md#sane)
1400+[`++sane`](@/docs/reference/library/4b.md#sane)
1401−[`++teff`](./docs/reference/library/4b.md#teff)
1401+[`++teff`](@/docs/reference/library/4b.md#teff)
1402−[`++trim`](./docs/reference/library/4b.md#trim)
1402+[`++trim`](@/docs/reference/library/4b.md#trim)
1403−[`++trip`](./docs/reference/library/4b.md#trip)
1403+[`++trip`](@/docs/reference/library/4b.md#trip)
1404−[`++tuba`](./docs/reference/library/4b.md#tuba)
1404+[`++tuba`](@/docs/reference/library/4b.md#tuba)
1405−[`++tufa`](./docs/reference/library/4b.md#tufa)
1405+[`++tufa`](@/docs/reference/library/4b.md#tufa)
1406−[`++tuft`](./docs/reference/library/4b.md#tuft)
1406+[`++tuft`](@/docs/reference/library/4b.md#tuft)
1407−[`++turf`](./docs/reference/library/4b.md#turf)
1407+[`++turf`](@/docs/reference/library/4b.md#turf)
1408−[`++wack`](./docs/reference/library/4b.md#wack)
1408+[`++wack`](@/docs/reference/library/4b.md#wack)
1409−[`++wick`](./docs/reference/library/4b.md#wick)
1409+[`++wick`](@/docs/reference/library/4b.md#wick)
1410−[`++woad`](./docs/reference/library/4b.md#woad)
1410+[`++woad`](@/docs/reference/library/4b.md#woad)
1411−[`++wood`](./docs/reference/library/4b.md#wood)
1411+[`++wood`](@/docs/reference/library/4b.md#wood)
1412
1412
1413### 4c: tank printer
1413### 4c: tank printer
1414
1414
1415−[`++re`](./docs/reference/library/4c.md#re)
1415+[`++re`](@/docs/reference/library/4c.md#re)
1416−[`++din:re`](./docs/reference/library/4c.md#din-re)
1416+[`++din:re`](@/docs/reference/library/4c.md#din-re)
1417−[`++fit:re`](./docs/reference/library/4c.md#fit-re)
1417+[`++fit:re`](@/docs/reference/library/4c.md#fit-re)
1418−[`++ram:re`](./docs/reference/library/4c.md#ram-re)
1418+[`++ram:re`](@/docs/reference/library/4c.md#ram-re)
1419−[`++rig:re`](./docs/reference/library/4c.md#rig-re)
1419+[`++rig:re`](@/docs/reference/library/4c.md#rig-re)
1420−[`++wig:re`](./docs/reference/library/4c.md#wig-re)
1420+[`++wig:re`](@/docs/reference/library/4c.md#wig-re)
1421−[`++win:re`](./docs/reference/library/4c.md#win-re)
1421+[`++win:re`](@/docs/reference/library/4c.md#win-re)
1422
1422
1423−[`++shep`](./docs/reference/library/4c.md#shep)
1423+[`++shep`](@/docs/reference/library/4c.md#shep)
1424−[`++shop`](./docs/reference/library/4c.md#shop)
1424+[`++shop`](@/docs/reference/library/4c.md#shop)
1425−[`++show`](./docs/reference/library/4c.md#show)
1425+[`++show`](@/docs/reference/library/4c.md#show)
1426
1426
1427### 4d: parsing (tracing)
1427### 4d: parsing (tracing)
1428
1428
1429−[`++last`](./docs/reference/library/4d.md#last)
1429+[`++last`](@/docs/reference/library/4d.md#last)
1430−[`++lust`](./docs/reference/library/4d.md#lust)
1430+[`++lust`](@/docs/reference/library/4d.md#lust)
1431
1431
1432### 4e: parsing (combinators)
1432### 4e: parsing (combinators)
1433
1433
1434−[`++bend`](./docs/reference/library/4e.md#bend)
1434+[`++bend`](@/docs/reference/library/4e.md#bend)
1435−[`++comp`](./docs/reference/library/4e.md#comp)
1435+[`++comp`](@/docs/reference/library/4e.md#comp)
1436−[`++fail`](./docs/reference/library/4e.md#fail)
1436+[`++fail`](@/docs/reference/library/4e.md#fail)
1437−[`++glue`](./docs/reference/library/4e.md#glue)
1437+[`++glue`](@/docs/reference/library/4e.md#glue)
1438−[`++less`](./docs/reference/library/4e.md#less)
1438+[`++less`](@/docs/reference/library/4e.md#less)
1439−[`++pfix`](./docs/reference/library/4e.md#pfix)
1439+[`++pfix`](@/docs/reference/library/4e.md#pfix)
1440−[`++plug`](./docs/reference/library/4e.md#plug)
1440+[`++plug`](@/docs/reference/library/4e.md#plug)
1441−[`++pose`](./docs/reference/library/4e.md#pose)
1441+[`++pose`](@/docs/reference/library/4e.md#pose)
1442−[`++sfix`](./docs/reference/library/4e.md#sfix)
1442+[`++sfix`](@/docs/reference/library/4e.md#sfix)
1443−[`++simu`](./docs/reference/library/4e.md#simu)
1443+[`++simu`](@/docs/reference/library/4e.md#simu)
1444
1444
1445### 4f: parsing (rule builders)
1445### 4f: parsing (rule builders)
1446
1446
1447−[`++bass`](./docs/reference/library/4f.md#bass)
1447+[`++bass`](@/docs/reference/library/4f.md#bass)
1448−[`++boss`](./docs/reference/library/4f.md#boss)
1448+[`++boss`](@/docs/reference/library/4f.md#boss)
1449−[`++cold`](./docs/reference/library/4f.md#cold)
1449+[`++cold`](@/docs/reference/library/4f.md#cold)
1450−[`++cook`](./docs/reference/library/4f.md#cook)
1450+[`++cook`](@/docs/reference/library/4f.md#cook)
1451−[`++easy`](./docs/reference/library/4f.md#easy)
1451+[`++easy`](@/docs/reference/library/4f.md#easy)
1452−[`++full`](./docs/reference/library/4f.md#full)
1452+[`++full`](@/docs/reference/library/4f.md#full)
1453−[`++funk`](./docs/reference/library/4f.md#funk)
1453+[`++funk`](@/docs/reference/library/4f.md#funk)
1454−[`++here`](./docs/reference/library/4f.md#here)
1454+[`++here`](@/docs/reference/library/4f.md#here)
1455−[`++ifix`](./docs/reference/library/4f.md#ifix)
1455+[`++ifix`](@/docs/reference/library/4f.md#ifix)
1456−[`++jest`](./docs/reference/library/4f.md#jest)
1456+[`++jest`](@/docs/reference/library/4f.md#jest)
1457−[`++just`](./docs/reference/library/4f.md#just)
1457+[`++just`](@/docs/reference/library/4f.md#just)
1458−[`++knee`](./docs/reference/library/4f.md#knee)
1458+[`++knee`](@/docs/reference/library/4f.md#knee)
1459−[`++mask`](./docs/reference/library/4f.md#mask)
1459+[`++mask`](@/docs/reference/library/4f.md#mask)
1460−[`++more`](./docs/reference/library/4f.md#more)
1460+[`++more`](@/docs/reference/library/4f.md#more)
1461−[`++most`](./docs/reference/library/4f.md#most)
1461+[`++most`](@/docs/reference/library/4f.md#most)
1462−[`++next`](./docs/reference/library/4f.md#next)
1462+[`++next`](@/docs/reference/library/4f.md#next)
1463−[`++plus`](./docs/reference/library/4f.md#plus)
1463+[`++plus`](@/docs/reference/library/4f.md#plus)
1464−[`++sear`](./docs/reference/library/4f.md#sear)
1464+[`++sear`](@/docs/reference/library/4f.md#sear)
1465−[`++shim`](./docs/reference/library/4f.md#shim)
1465+[`++shim`](@/docs/reference/library/4f.md#shim)
1466−[`++slug`](./docs/reference/library/4f.md#slug)
1466+[`++slug`](@/docs/reference/library/4f.md#slug)
1467−[`++stag`](./docs/reference/library/4f.md#stag)
1467+[`++stag`](@/docs/reference/library/4f.md#stag)
1468−[`++star`](./docs/reference/library/4f.md#star)
1468+[`++star`](@/docs/reference/library/4f.md#star)
1469−[`++stet`](./docs/reference/library/4f.md#stet)
1469+[`++stet`](@/docs/reference/library/4f.md#stet)
1470−[`++stew`](./docs/reference/library/4f.md#stew)
1470+[`++stew`](@/docs/reference/library/4f.md#stew)
1471−[`++stir`](./docs/reference/library/4f.md#stir)
1471+[`++stir`](@/docs/reference/library/4f.md#stir)
1472−[`++stun`](./docs/reference/library/4f.md#stun)
1472+[`++stun`](@/docs/reference/library/4f.md#stun)
1473
1473
1474### 4g: parsing (outside caller)
1474### 4g: parsing (outside caller)
1475
1475
1476−[`++rash`](./docs/reference/library/4g.md#rash)
1476+[`++rash`](@/docs/reference/library/4g.md#rash)
1477−[`++rush`](./docs/reference/library/4g.md#rush)
1477+[`++rush`](@/docs/reference/library/4g.md#rush)
1478−[`++rust`](./docs/reference/library/4g.md#rust)
1478+[`++rust`](@/docs/reference/library/4g.md#rust)
1479−[`++scan`](./docs/reference/library/4g.md#scan)
1479+[`++scan`](@/docs/reference/library/4g.md#scan)
1480
1480
1481### 4h: parsing (ascii glyphs)
1481### 4h: parsing (ascii glyphs)
1482
1482
1483−[`++ace`](./docs/reference/library/4h.md#ace)
1483+[`++ace`](@/docs/reference/library/4h.md#ace)
1484−[`++bar`](./docs/reference/library/4h.md#bar)
1484+[`++bar`](@/docs/reference/library/4h.md#bar)
1485−[`++bas`](./docs/reference/library/4h.md#bas)
1485+[`++bas`](@/docs/reference/library/4h.md#bas)
1486−[`++buc`](./docs/reference/library/4h.md#buc)
1486+[`++buc`](@/docs/reference/library/4h.md#buc)
1487−[`++cab`](./docs/reference/library/4h.md#cab)
1487+[`++cab`](@/docs/reference/library/4h.md#cab)
1488−[`++cen`](./docs/reference/library/4h.md#cen)
1488+[`++cen`](@/docs/reference/library/4h.md#cen)
1489−[`++col`](./docs/reference/library/4h.md#col)
1489+[`++col`](@/docs/reference/library/4h.md#col)
1490−[`++com`](./docs/reference/library/4h.md#com)
1490+[`++com`](@/docs/reference/library/4h.md#com)
1491−[`++doq`](./docs/reference/library/4h.md#doq)
1491+[`++doq`](@/docs/reference/library/4h.md#doq)
1492−[`++dot`](./docs/reference/library/4h.md#dot)
1492+[`++dot`](@/docs/reference/library/4h.md#dot)
1493−[`++fas`](./docs/reference/library/4h.md#fas)
1493+[`++fas`](@/docs/reference/library/4h.md#fas)
1494−[`++gal`](./docs/reference/library/4h.md#gal)
1494+[`++gal`](@/docs/reference/library/4h.md#gal)
1495−[`++gar`](./docs/reference/library/4h.md#gar)
1495+[`++gar`](@/docs/reference/library/4h.md#gar)
1496−[`++hax`](./docs/reference/library/4h.md#hax)
1496+[`++hax`](@/docs/reference/library/4h.md#hax)
1497−[`++hep`](./docs/reference/library/4h.md#hep)
1497+[`++hep`](@/docs/reference/library/4h.md#hep)
1498−[`++kel`](./docs/reference/library/4h.md#kel)
1498+[`++kel`](@/docs/reference/library/4h.md#kel)
1499−[`++ker`](./docs/reference/library/4h.md#ker)
1499+[`++ker`](@/docs/reference/library/4h.md#ker)
1500−[`++ket`](./docs/reference/library/4h.md#ket)
1500+[`++ket`](@/docs/reference/library/4h.md#ket)
1501−[`++lus`](./docs/reference/library/4h.md#lus)
1501+[`++lus`](@/docs/reference/library/4h.md#lus)
1502−[`++pam`](./docs/reference/library/4h.md#pam)
1502+[`++pam`](@/docs/reference/library/4h.md#pam)
1503−[`++pat`](./docs/reference/library/4h.md#pat)
1503+[`++pat`](@/docs/reference/library/4h.md#pat)
1504−[`++pel`](./docs/reference/library/4h.md#pel)
1504+[`++pel`](@/docs/reference/library/4h.md#pel)
1505−[`++per`](./docs/reference/library/4h.md#per)
1505+[`++per`](@/docs/reference/library/4h.md#per)
1506−[`++sel`](./docs/reference/library/4h.md#sel)
1506+[`++sel`](@/docs/reference/library/4h.md#sel)
1507−[`++sem`](./docs/reference/library/4h.md#sem)
1507+[`++sem`](@/docs/reference/library/4h.md#sem)
1508−[`++ser`](./docs/reference/library/4h.md#ser)
1508+[`++ser`](@/docs/reference/library/4h.md#ser)
1509−[`++sig`](./docs/reference/library/4h.md#sig)
1509+[`++sig`](@/docs/reference/library/4h.md#sig)
1510−[`++soq`](./docs/reference/library/4h.md#soq)
1510+[`++soq`](@/docs/reference/library/4h.md#soq)
1511−[`++tar`](./docs/reference/library/4h.md#tar)
1511+[`++tar`](@/docs/reference/library/4h.md#tar)
1512−[`++tec`](./docs/reference/library/4h.md#tec)
1512+[`++tec`](@/docs/reference/library/4h.md#tec)
1513−[`++tis`](./docs/reference/library/4h.md#tis)
1513+[`++tis`](@/docs/reference/library/4h.md#tis)
1514−[`++wut`](./docs/reference/library/4h.md#wut)
1514+[`++wut`](@/docs/reference/library/4h.md#wut)
1515−[`++zap`](./docs/reference/library/4h.md#zap)
1515+[`++zap`](@/docs/reference/library/4h.md#zap)
1516
1516
1517### 4i: parsing (useful idioms)
1517### 4i: parsing (useful idioms)
1518
1518
1519−[`++alf`](./docs/reference/library/4i.md#alf)
1519+[`++alf`](@/docs/reference/library/4i.md#alf)
1520−[`++aln`](./docs/reference/library/4i.md#aln)
1520+[`++aln`](@/docs/reference/library/4i.md#aln)
1521−[`++alp`](./docs/reference/library/4i.md#alp)
1521+[`++alp`](@/docs/reference/library/4i.md#alp)
1522−[`++bet`](./docs/reference/library/4i.md#bet)
1522+[`++bet`](@/docs/reference/library/4i.md#bet)
1523−[`++bin`](./docs/reference/library/4i.md#bin)
1523+[`++bin`](@/docs/reference/library/4i.md#bin)
1524−[`++but`](./docs/reference/library/4i.md#but)
1524+[`++but`](@/docs/reference/library/4i.md#but)
1525−[`++cit`](./docs/reference/library/4i.md#cit)
1525+[`++cit`](@/docs/reference/library/4i.md#cit)
1526−[`++dem`](./docs/reference/library/4i.md#dem)
1526+[`++dem`](@/docs/reference/library/4i.md#dem)
1527−[`++dit`](./docs/reference/library/4i.md#dit)
1527+[`++dit`](@/docs/reference/library/4i.md#dit)
1528−[`++dog`](./docs/reference/library/4i.md#dog)
1528+[`++dog`](@/docs/reference/library/4i.md#dog)
1529−[`++doh`](./docs/reference/library/4i.md#doh)
1529+[`++doh`](@/docs/reference/library/4i.md#doh)
1530−[`++dun`](./docs/reference/library/4i.md#dun)
1530+[`++dun`](@/docs/reference/library/4i.md#dun)
1531−[`++duz`](./docs/reference/library/4i.md#duz)
1531+[`++duz`](@/docs/reference/library/4i.md#duz)
1532−[`++gah`](./docs/reference/library/4i.md#gah)
1532+[`++gah`](@/docs/reference/library/4i.md#gah)
1533−[`++gap`](./docs/reference/library/4i.md#gap)
1533+[`++gap`](@/docs/reference/library/4i.md#gap)
1534−[`++gaq`](./docs/reference/library/4i.md#gaq)
1534+[`++gaq`](@/docs/reference/library/4i.md#gaq)
1535−[`++gaw`](./docs/reference/library/4i.md#gaw)
1535+[`++gaw`](@/docs/reference/library/4i.md#gaw)
1536−[`++gay`](./docs/reference/library/4i.md#gay)
1536+[`++gay`](@/docs/reference/library/4i.md#gay)
1537−[`++gon`](./docs/reference/library/4i.md#gon)
1537+[`++gon`](@/docs/reference/library/4i.md#gon)
1538−[`++gul`](./docs/reference/library/4i.md#gul)
1538+[`++gul`](@/docs/reference/library/4i.md#gul)
1539−[`++hex`](./docs/reference/library/4i.md#hex)
1539+[`++hex`](@/docs/reference/library/4i.md#hex)
1540−[`++hig`](./docs/reference/library/4i.md#hig)
1540+[`++hig`](@/docs/reference/library/4i.md#hig)
1541−[`++hit`](./docs/reference/library/4i.md#hit)
1541+[`++hit`](@/docs/reference/library/4i.md#hit)
1542−[`++iny`](./docs/reference/library/4i.md#iny)
1542+[`++iny`](@/docs/reference/library/4i.md#iny)
1543−[`++low`](./docs/reference/library/4i.md#low)
1543+[`++low`](@/docs/reference/library/4i.md#low)
1544−[`++mes`](./docs/reference/library/4i.md#mes)
1544+[`++mes`](@/docs/reference/library/4i.md#mes)
1545−[`++nix`](./docs/reference/library/4i.md#nix)
1545+[`++nix`](@/docs/reference/library/4i.md#nix)
1546−[`++nud`](./docs/reference/library/4i.md#nud)
1546+[`++nud`](@/docs/reference/library/4i.md#nud)
1547−[`++prn`](./docs/reference/library/4i.md#prn)
1547+[`++prn`](@/docs/reference/library/4i.md#prn)
1548−[`++qit`](./docs/reference/library/4i.md#qit)
1548+[`++qit`](@/docs/reference/library/4i.md#qit)
1549−[`++qut`](./docs/reference/library/4i.md#qut)
1549+[`++qut`](@/docs/reference/library/4i.md#qut)
1550−[`++soz`](./docs/reference/library/4i.md#soz)
1550+[`++soz`](@/docs/reference/library/4i.md#soz)
1551−[`++sym`](./docs/reference/library/4i.md#sym)
1551+[`++sym`](@/docs/reference/library/4i.md#sym)
1552−[`++ven`](./docs/reference/library/4i.md#ven)
1552+[`++ven`](@/docs/reference/library/4i.md#ven)
1553−[`++vit`](./docs/reference/library/4i.md#vit)
1553+[`++vit`](@/docs/reference/library/4i.md#vit)
1554−[`++vul`](./docs/reference/library/4i.md#vul)
1554+[`++vul`](@/docs/reference/library/4i.md#vul)
1555
1555
1556### 4j: parsing (bases and base digits)
1556### 4j: parsing (bases and base digits)
1557
1557
1558−[`++ab`](./docs/reference/library/4j.md#ab)
1558+[`++ab`](@/docs/reference/library/4j.md#ab)
1559−[`++bix:ab`](./docs/reference/library/4j.md#bix-ab)
1559+[`++bix:ab`](@/docs/reference/library/4j.md#bix-ab)
1560−[`++hif:ab`](./docs/reference/library/4j.md#hif-ab)
1560+[`++hif:ab`](@/docs/reference/library/4j.md#hif-ab)
1561−[`++huf:ab`](./docs/reference/library/4j.md#huf-ab)
1561+[`++huf:ab`](@/docs/reference/library/4j.md#huf-ab)
1562−[`++hyf:ab`](./docs/reference/library/4j.md#hyf-ab)
1562+[`++hyf:ab`](@/docs/reference/library/4j.md#hyf-ab)
1563−[`++pev:ab`](./docs/reference/library/4j.md#pev-ab)
1563+[`++pev:ab`](@/docs/reference/library/4j.md#pev-ab)
1564−[`++pew:ab`](./docs/reference/library/4j.md#pew-ab)
1564+[`++pew:ab`](@/docs/reference/library/4j.md#pew-ab)
1565−[`++piv:ab`](./docs/reference/library/4j.md#piv-ab)
1565+[`++piv:ab`](@/docs/reference/library/4j.md#piv-ab)
1566−[`++piw:ab`](./docs/reference/library/4j.md#piw-ab)
1566+[`++piw:ab`](@/docs/reference/library/4j.md#piw-ab)
1567−[`++qeb:ab`](./docs/reference/library/4j.md#qeb-ab)
1567+[`++qeb:ab`](@/docs/reference/library/4j.md#qeb-ab)
1568−[`++qex:ab`](./docs/reference/library/4j.md#qex-ab)
1568+[`++qex:ab`](@/docs/reference/library/4j.md#qex-ab)
1569−[`++qib:ab`](./docs/reference/library/4j.md#qib-ab)
1569+[`++qib:ab`](@/docs/reference/library/4j.md#qib-ab)
1570−[`++qix:ab`](./docs/reference/library/4j.md#qix-ab)
1570+[`++qix:ab`](@/docs/reference/library/4j.md#qix-ab)
1571−[`++seb:ab`](./docs/reference/library/4j.md#seb-ab)
1571+[`++seb:ab`](@/docs/reference/library/4j.md#seb-ab)
1572−[`++sed:ab`](./docs/reference/library/4j.md#sed-ab)
1572+[`++sed:ab`](@/docs/reference/library/4j.md#sed-ab)
1573−[`++sev:ab`](./docs/reference/library/4j.md#sev-ab)
1573+[`++sev:ab`](@/docs/reference/library/4j.md#sev-ab)
1574−[`++sew:ab`](./docs/reference/library/4j.md#sew-ab)
1574+[`++sew:ab`](@/docs/reference/library/4j.md#sew-ab)
1575−[`++sex:ab`](./docs/reference/library/4j.md#sex-ab)
1575+[`++sex:ab`](@/docs/reference/library/4j.md#sex-ab)
1576−[`++sib:ab`](./docs/reference/library/4j.md#sib-ab)
1576+[`++sib:ab`](@/docs/reference/library/4j.md#sib-ab)
1577−[`++sid:ab`](./docs/reference/library/4j.md#sid-ab)
1577+[`++sid:ab`](@/docs/reference/library/4j.md#sid-ab)
1578−[`++siv:ab`](./docs/reference/library/4j.md#siv-ab)
1578+[`++siv:ab`](@/docs/reference/library/4j.md#siv-ab)
1579−[`++siw:ab`](./docs/reference/library/4j.md#siw-ab)
1579+[`++siw:ab`](@/docs/reference/library/4j.md#siw-ab)
1580−[`++six:ab`](./docs/reference/library/4j.md#six-ab)
1580+[`++six:ab`](@/docs/reference/library/4j.md#six-ab)
1581−[`++sov:ab`](./docs/reference/library/4j.md#sov-ab)
1581+[`++sov:ab`](@/docs/reference/library/4j.md#sov-ab)
1582−[`++sow:ab`](./docs/reference/library/4j.md#sow-ab)
1582+[`++sow:ab`](@/docs/reference/library/4j.md#sow-ab)
1583−[`++sox:ab`](./docs/reference/library/4j.md#sox-ab)
1583+[`++sox:ab`](@/docs/reference/library/4j.md#sox-ab)
1584−[`++ted:ab`](./docs/reference/library/4j.md#ted-ab)
1584+[`++ted:ab`](@/docs/reference/library/4j.md#ted-ab)
1585−[`++tid:ab`](./docs/reference/library/4j.md#tid-ab)
1585+[`++tid:ab`](@/docs/reference/library/4j.md#tid-ab)
1586−[`++til:ab`](./docs/reference/library/4j.md#til-ab)
1586+[`++til:ab`](@/docs/reference/library/4j.md#til-ab)
1587−[`++tip:ab`](./docs/reference/library/4j.md#tip-ab)
1587+[`++tip:ab`](@/docs/reference/library/4j.md#tip-ab)
1588−[`++tiq:ab`](./docs/reference/library/4j.md#tiq-ab)
1588+[`++tiq:ab`](@/docs/reference/library/4j.md#tiq-ab)
1589−[`++urs:ab`](./docs/reference/library/4j.md#urs-ab)
1589+[`++urs:ab`](@/docs/reference/library/4j.md#urs-ab)
1590−[`++urt:ab`](./docs/reference/library/4j.md#urt-ab)
1590+[`++urt:ab`](@/docs/reference/library/4j.md#urt-ab)
1591−[`++voy:ab`](./docs/reference/library/4j.md#voy-ab)
1591+[`++voy:ab`](@/docs/reference/library/4j.md#voy-ab)
1592−
1592+
1593−[`++ag`](./docs/reference/library/4j.md#ag)
1593+[`++ag`](@/docs/reference/library/4j.md#ag)
1594−[`++ape:ag`](./docs/reference/library/4j.md#ape-ag)
1594+[`++ape:ag`](@/docs/reference/library/4j.md#ape-ag)
1595−[`++bay:ag`](./docs/reference/library/4j.md#bay-ag)
1595+[`++bay:ag`](@/docs/reference/library/4j.md#bay-ag)
1596−[`++bip:ag`](./docs/reference/library/4j.md#bip-ag)
1596+[`++bip:ag`](@/docs/reference/library/4j.md#bip-ag)
1597−[`++dem:ag`](./docs/reference/library/4j.md#dem-ag)
1597+[`++dem:ag`](@/docs/reference/library/4j.md#dem-ag)
1598−[`++dim:ag`](./docs/reference/library/4j.md#dim-ag)
1598+[`++dim:ag`](@/docs/reference/library/4j.md#dim-ag)
1599−[`++dum:ag`](./docs/reference/library/4j.md#dum-ag)
1599+[`++dum:ag`](@/docs/reference/library/4j.md#dum-ag)
1600−[`++fed:ag`](./docs/reference/library/4j.md#fed-ag)
1600+[`++fed:ag`](@/docs/reference/library/4j.md#fed-ag)
1601−[`++hex:ag`](./docs/reference/library/4j.md#hex-ag)
1601+[`++hex:ag`](@/docs/reference/library/4j.md#hex-ag)
1602−[`++lip:ag`](./docs/reference/library/4j.md#lip-ag)
1602+[`++lip:ag`](@/docs/reference/library/4j.md#lip-ag)
1603−[`++viz:ag`](./docs/reference/library/4j.md#viz-ag)
1603+[`++viz:ag`](@/docs/reference/library/4j.md#viz-ag)
1604−[`++vum:ag`](./docs/reference/library/4j.md#vum-ag)
1604+[`++vum:ag`](@/docs/reference/library/4j.md#vum-ag)
1605−[`++wiz:ag`](./docs/reference/library/4j.md#wiz-ag)
1605+[`++wiz:ag`](@/docs/reference/library/4j.md#wiz-ag)
1606−
1606+
1607−[`++mu`](./docs/reference/library/4j.md#mu)
1607+[`++mu`](@/docs/reference/library/4j.md#mu)
1608−[`++zag:mu`](./docs/reference/library/4j.md#zag-mu)
1608+[`++zag:mu`](@/docs/reference/library/4j.md#zag-mu)
1609−[`++zig:mu`](./docs/reference/library/4j.md#zig-mu)
1609+[`++zig:mu`](@/docs/reference/library/4j.md#zig-mu)
1610−[`++zug:mu`](./docs/reference/library/4j.md#zug-mu)
1610+[`++zug:mu`](@/docs/reference/library/4j.md#zug-mu)
1611−
1611+
1612−[`++ne`](./docs/reference/library/4j.md#ne)
1612+[`++ne`](@/docs/reference/library/4j.md#ne)
1613−[`++d:ne`](./docs/reference/library/4j.md#d-ne)
1613+[`++d:ne`](@/docs/reference/library/4j.md#d-ne)
1614−[`++v:ne`](./docs/reference/library/4j.md#v-ne)
1614+[`++v:ne`](@/docs/reference/library/4j.md#v-ne)
1615−[`++w:ne`](./docs/reference/library/4j.md#w-ne)
1615+[`++w:ne`](@/docs/reference/library/4j.md#w-ne)
1616−[`++x:ne`](./docs/reference/library/4j.md#x-ne)
1616+[`++x:ne`](@/docs/reference/library/4j.md#x-ne)
1617
1617
1618### 4k: parsing (atom printing)
1618### 4k: parsing (atom printing)
1619
1619
1620−[`++co`](./docs/reference/library/4k.md#co)
1620+[`++co`](@/docs/reference/library/4k.md#co)
1621−[`++rear:co`](./docs/reference/library/4k.md#rear-co)
1621+[`++rear:co`](@/docs/reference/library/4k.md#rear-co)
1622−[`++rend:co`](./docs/reference/library/4k.md#rend-co)
1622+[`++rend:co`](@/docs/reference/library/4k.md#rend-co)
1623−[`++rent:co`](./docs/reference/library/4k.md#rent-co)
1623+[`++rent:co`](@/docs/reference/library/4k.md#rent-co)
1624
1624
1625### 4l: parsing (atom parsing)
1625### 4l: parsing (atom parsing)
1626
1626
1627−[`++so`](./docs/reference/library/4l.md#so)
1627+[`++so`](@/docs/reference/library/4l.md#so)
1628−[`++bisk:so`](./docs/reference/library/4l.md#bisk-so)
1628+[`++bisk:so`](@/docs/reference/library/4l.md#bisk-so)
1629−[`++crub:so`](./docs/reference/library/4l.md#crub-so)
1629+[`++crub:so`](@/docs/reference/library/4l.md#crub-so)
1630−[`++nuck:so`](./docs/reference/library/4l.md#nuck-so)
1630+[`++nuck:so`](@/docs/reference/library/4l.md#nuck-so)
1631−[`++nusk:so`](./docs/reference/library/4l.md#nusk-so)
1631+[`++nusk:so`](@/docs/reference/library/4l.md#nusk-so)
1632−[`++perd:so`](./docs/reference/library/4l.md#perd-so)
1632+[`++perd:so`](@/docs/reference/library/4l.md#perd-so)
1633−[`++royl:so`](./docs/reference/library/4l.md#royl-so)
1633+[`++royl:so`](@/docs/reference/library/4l.md#royl-so)
1634−[`++royl-cell:so`](./docs/reference/library/4l.md#royl-cell-so)
1634+[`++royl-cell:so`](@/docs/reference/library/4l.md#royl-cell-so)
1635−[`++tash:so`](./docs/reference/library/4l.md#tash-so)
1635+[`++tash:so`](@/docs/reference/library/4l.md#tash-so)
1636−[`++twid:so`](./docs/reference/library/4l.md#twid-so)
1636+[`++twid:so`](@/docs/reference/library/4l.md#twid-so)
1637−[`++zust:so`](./docs/reference/library/4l.md#zust-so)
1637+[`++zust:so`](@/docs/reference/library/4l.md#zust-so)
1638
1638
1639### 4m: parsing (formatting functions)
1639### 4m: parsing (formatting functions)
1640
1640
1641−[`++scot`](./docs/reference/library/4m.md#scot)
1641+[`++scot`](@/docs/reference/library/4m.md#scot)
1642−[`++scow`](./docs/reference/library/4m.md#scow)
1642+[`++scow`](@/docs/reference/library/4m.md#scow)
1643−[`++slat`](./docs/reference/library/4m.md#slat)
1643+[`++slat`](@/docs/reference/library/4m.md#slat)
1644−[`++slav`](./docs/reference/library/4m.md#slav)
1644+[`++slav`](@/docs/reference/library/4m.md#slav)
1645−[`++slaw`](./docs/reference/library/4m.md#slaw)
1645+[`++slaw`](@/docs/reference/library/4m.md#slaw)
1646−[`++slay`](./docs/reference/library/4m.md#slay)
1646+[`++slay`](@/docs/reference/library/4m.md#slay)
1647−[`++smyt`](./docs/reference/library/4m.md#smyt)
1647+[`++smyt`](@/docs/reference/library/4m.md#smyt)
1648−[`++spat`](./docs/reference/library/4m.md#spat)
1648+[`++spat`](@/docs/reference/library/4m.md#spat)
1649−[`++spud`](./docs/reference/library/4m.md#spud)
1649+[`++spud`](@/docs/reference/library/4m.md#spud)
1650−[`++stab`](./docs/reference/library/4m.md#stab)
1650+[`++stab`](@/docs/reference/library/4m.md#stab)
1651
1651
1652### 4n: parsing (virtualization)
1652### 4n: parsing (virtualization)
1653
1653
1654−[`++mack`](./docs/reference/library/4n.md#mack)
1654+[`++mack`](@/docs/reference/library/4n.md#mack)
1655−[`++mink`](./docs/reference/library/4n.md#mink)
1655+[`++mink`](@/docs/reference/library/4n.md#mink)
1656−[`++mock`](./docs/reference/library/4n.md#mock)
1656+[`++mock`](@/docs/reference/library/4n.md#mock)
1657−[`++mong`](./docs/reference/library/4n.md#mong)
1657+[`++mong`](@/docs/reference/library/4n.md#mong)
1658−[`++mook`](./docs/reference/library/4n.md#mook)
1658+[`++mook`](@/docs/reference/library/4n.md#mook)
1659−[`++mule`](./docs/reference/library/4n.md#mule)
1659+[`++mule`](@/docs/reference/library/4n.md#mule)
1660−[`++mute`](./docs/reference/library/4n.md#mute)
1660+[`++mute`](@/docs/reference/library/4n.md#mute)
1661
1661
1662### 4o: parsing (molds)
1662### 4o: parsing (molds)
1663
1663
1664−[`++abel`](./docs/reference/library/4o.md#abel)
1664+[`++abel`](@/docs/reference/library/4o.md#abel)
1665−[`++aura`](./docs/reference/library/4o.md#aura)
1665+[`++aura`](@/docs/reference/library/4o.md#aura)
1666−[`++axis`](./docs/reference/library/4o.md#axis)
1666+[`++axis`](@/docs/reference/library/4o.md#axis)
1667−[`++base`](./docs/reference/library/4o.md#base)
1667+[`++base`](@/docs/reference/library/4o.md#base)
1668−[`++bean`](./docs/reference/library/4o.md#bean)
1668+[`++bean`](@/docs/reference/library/4o.md#bean)
1669−[`++beer`](./docs/reference/library/4o.md#beer)
1669+[`++beer`](@/docs/reference/library/4o.md#beer)
1670−[`++beet`](./docs/reference/library/4o.md#beet)
1670+[`++beet`](@/docs/reference/library/4o.md#beet)
1671−[`++chum`](./docs/reference/library/4o.md#chum)
1671+[`++chum`](@/docs/reference/library/4o.md#chum)
1672−[`++coil`](./docs/reference/library/4o.md#coil)
1672+[`++coil`](@/docs/reference/library/4o.md#coil)
1673−[`++foot`](./docs/reference/library/4o.md#foot)
1673+[`++foot`](@/docs/reference/library/4o.md#foot)
1674−[`++limb`](./docs/reference/library/4o.md#limb)
1674+[`++limb`](@/docs/reference/library/4o.md#limb)
1675−[`++line`](./docs/reference/library/4o.md#line)
1675+[`++line`](@/docs/reference/library/4o.md#line)
1676−[`++metl`](./docs/reference/library/4o.md#metl)
1676+[`++metl`](@/docs/reference/library/4o.md#metl)
1677−[`++nock`](./docs/reference/library/4o.md#nock)
1677+[`++nock`](@/docs/reference/library/4o.md#nock)
1678−[`++noun`](./docs/reference/library/4o.md#noun)
1678+[`++noun`](@/docs/reference/library/4o.md#noun)
1679−[`++null`](./docs/reference/library/4o.md#null)
1679+[`++null`](@/docs/reference/library/4o.md#null)
1680−[`++port`](./docs/reference/library/4o.md#port)
1680+[`++port`](@/docs/reference/library/4o.md#port)
1681−[`++span`](./docs/reference/library/4o.md#span)
1681+[`++span`](@/docs/reference/library/4o.md#span)
1682−[`++tiki`](./docs/reference/library/4o.md#tiki)
1682+[`++tiki`](@/docs/reference/library/4o.md#tiki)
1683−[`++toga`](./docs/reference/library/4o.md#toga)
1683+[`++toga`](@/docs/reference/library/4o.md#toga)
1684−[`++tone`](./docs/reference/library/4o.md#tone)
1684+[`++tone`](@/docs/reference/library/4o.md#tone)
1685−[`++tuna`](./docs/reference/library/4o.md#tuna)
1685+[`++tuna`](@/docs/reference/library/4o.md#tuna)
1686−[`++tusk`](./docs/reference/library/4o.md#tusk)
1686+[`++tusk`](@/docs/reference/library/4o.md#tusk)
1687−[`++tyke`](./docs/reference/library/4o.md#tyke)
1687+[`++tyke`](@/docs/reference/library/4o.md#tyke)
1688−[`++typo`](./docs/reference/library/4o.md#typo)
1688+[`++typo`](@/docs/reference/library/4o.md#typo)
1689−[`++tyre`](./docs/reference/library/4o.md#tyre)
1689+[`++tyre`](@/docs/reference/library/4o.md#tyre)
1690−[`++vase`](./docs/reference/library/4o.md#vase)
1690+[`++vase`](@/docs/reference/library/4o.md#vase)
1691−[`++vise`](./docs/reference/library/4o.md#vise)
1691+[`++vise`](@/docs/reference/library/4o.md#vise)
1692−[`++wing`](./docs/reference/library/4o.md#wing)
1692+[`++wing`](@/docs/reference/library/4o.md#wing)
1693
1693
1694### 5a: compiler utilities
1694### 5a: compiler utilities
1695
1695
1696−[_(To be documented)_](./docs/reference/library/5a.md)
1696+[_(To be documented)_](@/docs/reference/library/5a.md)
1697
1697
1698### 5b: macro expansion
1698### 5b: macro expansion
1699
1699
1700−[_(To be documented)_](./docs/reference/library/5b.md)
1700+[_(To be documented)_](@/docs/reference/library/5b.md)
1701
1701
1702### 5c: compiler backend and prettyprinter
1702### 5c: compiler backend and prettyprinter
1703
1703
1704−[_(To be documented)_](./docs/reference/library/5c.md)
1704+[_(To be documented)_](@/docs/reference/library/5c.md)
1705
1705
1706### 5d: parser
1706### 5d: parser
1707
1707
1708−[_(To be documented)_](./docs/reference/library/5d.md)
1708+[_(To be documented)_](@/docs/reference/library/5d.md)
1709
1709
1710### 5e: caching compiler
1710### 5e: caching compiler
1711
1711
1712−[_(To be documented)_](./docs/reference/library/5e.md)
1712+[_(To be documented)_](@/docs/reference/library/5e.md)
1713
1713
1714### 5f: molds and mold builders
1714### 5f: molds and mold builders
1715
1715
1716−[`++mane`](./docs/reference/library/5f.md#mane)
1716+[`++mane`](@/docs/reference/library/5f.md#mane)
1717−[`++manx`](./docs/reference/library/5f.md#manx)
1717+[`++manx`](@/docs/reference/library/5f.md#manx)
1718−[`++marl`](./docs/reference/library/5f.md#marl)
1718+[`++marl`](@/docs/reference/library/5f.md#marl)
1719−[`++mars`](./docs/reference/library/5f.md#mars)
1719+[`++mars`](@/docs/reference/library/5f.md#mars)
1720−[`++mart`](./docs/reference/library/5f.md#mart)
1720+[`++mart`](@/docs/reference/library/5f.md#mart)
1721−[`++marx`](./docs/reference/library/5f.md#marx)
1721+[`++marx`](@/docs/reference/library/5f.md#marx)
1722−[`++pass`](./docs/reference/library/5f.md#pass)
1722+[`++pass`](@/docs/reference/library/5f.md#pass)
1723−[`++ring`](./docs/reference/library/5f.md#ring)
1723+[`++ring`](@/docs/reference/library/5f.md#ring)
1724−[`++time`](./docs/reference/library/5f.md#time)
1724+[`++time`](@/docs/reference/library/5f.md#time)
1725
1725
1726### 5g: profiling support
1726### 5g: profiling support
1727
1727
1728−[_(To be documented)_](./docs/reference/library/5g.md)
1728+[_(To be documented)_](@/docs/reference/library/5g.md)
reference/troubleshooting.md+6−6
@@ -20,7 +20,7 @@ a correct Hoon file. These values are always correct.
20Usually, the line and column tell you everything you need to
20Usually, the line and column tell you everything you need to
21know. But the worst-case scenario for a syntax error is that,
21know. But the worst-case scenario for a syntax error is that,
22somewhere above, you've confused Hoon's tall form by using the
22somewhere above, you've confused Hoon's tall form by using the
23−wrong fanout for a rune. For example, `%+` ([**cenlus**](./docs/reference/hoon-expressions/rune/cen.md#cenlus),
23+wrong fanout for a rune. For example, `%+` ([**cenlus**](@/docs/reference/hoon-expressions/rune/cen.md#cenlus),
24a function call whose sample is a cell) has three subhoons:
24a function call whose sample is a cell) has three subhoons:
25
25
26```
26```
@@ -100,7 +100,7 @@ means you tried to pound a square peg into a round hole.
100What was the peg and what was the hole? Hoon doesn't tell you by
100What was the peg and what was the hole? Hoon doesn't tell you by
101default, because moral fiber, and also because in too many cases
101default, because moral fiber, and also because in too many cases
102trivial errors lead to large intimidating dumps. However, you
102trivial errors lead to large intimidating dumps. However, you
103−can use the `~!` rune ([**sigzap**](./docs/reference/hoon-expressions/rune/sig.md#sigzap)) to print the type of
103+can use the `~!` rune ([**sigzap**](@/docs/reference/hoon-expressions/rune/sig.md#sigzap)) to print the type of
104any hoon in your stack trace.
104any hoon in your stack trace.
105
105
106For instance, you wrote `(foo bar)` and got a `nest-fail`. Change
106For instance, you wrote `(foo bar)` and got a `nest-fail`. Change
@@ -130,7 +130,7 @@ function.
130
130
131These are errors caused by type inference in pattern matching.
131These are errors caused by type inference in pattern matching.
132`mint-vain` means this hoon is never executed. `mint-lost` means
132`mint-vain` means this hoon is never executed. `mint-lost` means
133−there's a case in a `?-` ([**wuthep**](./docs/reference/hoon-expressions/rune/wut.md#wuthep)) that isn't handled.
133+there's a case in a `?-` ([**wuthep**](@/docs/reference/hoon-expressions/rune/wut.md#wuthep)) that isn't handled.
134
134
135## Runtime crashes
135## Runtime crashes
136
136
@@ -144,7 +144,7 @@ infinite loop will time out either too slowly or too fast). The
144stack trace will show what your code was doing when interrupted.
144stack trace will show what your code was doing when interrupted.
145
145
146The counterpart of `~!` for runtime crashes is `~|`
146The counterpart of `~!` for runtime crashes is `~|`
147−([**sigbar**](./docs/reference/hoon-expressions/rune/sig.md#sigbar)):
147+([**sigbar**](@/docs/reference/hoon-expressions/rune/sig.md#sigbar)):
148
148
149```
149```
150~| foo
150~| foo
@@ -160,7 +160,7 @@ The worst possibility, of course, is that your code runs but does
160the wrong thing. This is relatively unusual in a typed
160the wrong thing. This is relatively unusual in a typed
161functional language, but it still happens.
161functional language, but it still happens.
162
162
163−`~&` ([**sigpad**](./docs/reference/hoon-expressions/rune/sig.md#sigpad)) is Hoon's debugging printf.
163+`~&` ([**sigpad**](@/docs/reference/hoon-expressions/rune/sig.md#sigpad)) is Hoon's debugging printf.
164This pretty-prints its argument:
164This pretty-prints its argument:
165
165
166```
166```
@@ -169,7 +169,7 @@ This pretty-prints its argument:
169```
169```
170
170
171will always print `foo` every time it executes. A variant is
171will always print `foo` every time it executes. A variant is
172−`~?` ([**sigwut**](./docs/reference/hoon-expressions/rune/sig.md#sigwut)), which prints only if a condition is
172+`~?` ([**sigwut**](@/docs/reference/hoon-expressions/rune/sig.md#sigwut)), which prints only if a condition is
173true:
173true:
174
174
175```
175```
using/admin.md+3−3
@@ -104,7 +104,7 @@ Ctrl-y Yank from kill buffer
104```
104```
105
105
106Full coverage of the Urbit shell, the Dojo is covered in the
106Full coverage of the Urbit shell, the Dojo is covered in the
107−[Shell walkthrough](./docs/using/shell.md).
107+[Shell walkthrough](@/docs/using/shell.md).
108
108
109## Web
109## Web
110
110
@@ -164,7 +164,7 @@ moon: ~faswep-navred-sampel-palnet
164and does not need editing to be used with the `-k` option.
164and does not need editing to be used with the `-k` option.
165
165
166You can use the resulting output in the same installation flow from the
166You can use the resulting output in the same installation flow from the
167−[Booting a Ship](./docs/getting-started/booting-a-ship.md) guide, following the same scheme as for booting a planet. That scheme is:
167+[Booting a Ship](@/docs/getting-started/booting-a-ship.md) guide, following the same scheme as for booting a planet. That scheme is:
168
168
169```
169```
170$ urbit -w <moonname> -G <key> -c <piername>
170$ urbit -w <moonname> -G <key> -c <piername>
@@ -193,7 +193,7 @@ $ urbit -w faswep-navred-sampel-palnet -k <keyfile> -c mymoon
193
193
194Moons are automatically synced to their parent `%kids` desk, and can control
194Moons are automatically synced to their parent `%kids` desk, and can control
195applications on their parent planet using `|link`. You can read more about
195applications on their parent planet using `|link`. You can read more about
196−those operations in the [filesystem](./docs/using/filesystem.md) and [console](./docs/using/shell.md)
196+those operations in the [filesystem](@/docs/using/filesystem.md) and [console](@/docs/using/shell.md)
197walkthroughs, respectively.
197walkthroughs, respectively.
198
198
199
199
using/creating-a-development-ship.md+1−1
@@ -6,7 +6,7 @@ template = "doc.html"
6
6
7To do work with Hoon and with the system, we recommended using a "fake" ship -- one not connected to the network.
7To do work with Hoon and with the system, we recommended using a "fake" ship -- one not connected to the network.
8
8
9−Because such a ship has no presence on the network, you don't need an Azimuth identity for its purposes. You just need to have [installed our software](./docs/getting-started/installing-urbit.md).
9+Because such a ship has no presence on the network, you don't need an Azimuth identity for its purposes. You just need to have [installed our software](@/docs/getting-started/installing-urbit.md).
10
10
11To create a fake ship named `~zod`, run the command below. You can replace `zod` with any valid Urbit ship-name.
11To create a fake ship named `~zod`, run the command below. You can replace `zod` with any valid Urbit ship-name.
12
12
using/filesystem.md+49−30
@@ -15,14 +15,14 @@ pier directory.
15## Quickstart
15## Quickstart
16
16
17This quick-start guide will walk you through some common commands. Follow along
17This quick-start guide will walk you through some common commands. Follow along
18−using your Dojo. When you get a `>=` message after entering a command, the means
18+using your Dojo. When you get a `>=` message after entering a command, this means
19that the command was successful.
19that the command was successful.
20
20
21When developing it's a good idea to use a separate desk. Create a `%sandbox`
21When developing it's a good idea to use a separate desk. Create a `%sandbox`
22desk based on the `%home` desk:
22desk based on the `%home` desk:
23
23
24```
24```
25−|merge %sandbox ~your-urbit %home
25+~your-urbit:dojo> |merge %sandbox ~your-urbit %home
26```
26```
27
27
28Running `our` produces your ship-name, meaning that you can run the following
28Running `our` produces your ship-name, meaning that you can run the following
@@ -30,7 +30,7 @@ command instead of typing out the entire thing. Useful for comets, due to their
30very long names.
30very long names.
31
31
32```
32```
33−|merge %sandbox our %home
33+~your-urbit:dojo> |merge %sandbox our %home
34```
34```
35
35
36Most of the time we want to use Clay from Unix. Mount the entire contents of
36Most of the time we want to use Clay from Unix. Mount the entire contents of
@@ -60,30 +60,36 @@ Let's explore the `/web` directory of the `%sandbox` desk.
60~your-urbit:dojo> +ls /=sandbox=/web
60~your-urbit:dojo> +ls /=sandbox=/web
61```
61```
62
62
63−Let's see the contents of `/=sandbox=/web/md`:
63+Let's see the contents of `/=sandbox=/web/404/hoon`:
64
64
65```
65```
66−~your-urbit:dojo> +cat /=sandbox=/web/md
66+~your-urbit:dojo> +cat /=sandbox=/web/404/hoon
67```
67```
68
68
69−Now let's navigate to that folder using `=dir`, which is a like `cd` in Unix.
69+Now let's navigate to `/web` on `%sandbox` using `=dir`, which is like `cd` in Unix.
70
70
71```
71```
72−~your-urbit:dojo> =dir /=sandbox=/web/md
72+~your-urbit:dojo> =dir /=sandbox=/web
73```
73```
74
74
75−Youl'll notice that your prompt is now `~your-urbit:dojo/sandbox/web/md>`. To
75+You'll notice that your prompt is now
76−change back to our home directory, we use `=dir` without any path.
76+`~your-urbit:dojo/=/sandbox/~2018.10.2..00.35.44..d7e8/web>`.
77
77
78```
78```
79−~your-urbit:dojo/sandbox/web/md> =dir
79+~your-urbit:dojo/=/sandbox/~2018.10.2..00.35.44..d7e8/web> +ls %
80+```
81+
82+To change back to our home directory, we use `=dir` without any path.
83+
84+```
85+~your-urbit:dojo/=/sandbox/~2018.10.2..00.35.44..d7e8/web> =dir
80```
86```
81
87
82Sync from your friend `~some-ship`'s `%experiment` desk to your
88Sync from your friend `~some-ship`'s `%experiment` desk to your
83`%sandbox` desk:
89`%sandbox` desk:
84
90
85```
91```
86−|sync %sandbox ~some-ship %experiment
92+~your-urbit:dojo> |sync %sandbox ~some-ship %experiment
87```
93```
88
94
89If and when your sync is successful, you will receive a message:
95If and when your sync is successful, you will receive a message:
@@ -130,14 +136,14 @@ We use `beak`s because, unlike the current internet, the Urbit network uses a
130global namespace. That means that a file named `example.hoon` in the `/gen`
136global namespace. That means that a file named `example.hoon` in the `/gen`
131directory on the `%home` desk of your ship `~lodleb-ritrul` would have a
137directory on the `%home` desk of your ship `~lodleb-ritrul` would have a
132universal address to anyone else on the network:
138universal address to anyone else on the network:
133−`~lodleb-ritrul/home/186/gen/example.hoon`. That, of
139+`/~lodleb-ritrul/home/186/gen/example/hoon`. That, of
134course, doesn't mean that everyone on the network has privileges to access that
140course, doesn't mean that everyone on the network has privileges to access that
135path.
141path.
136
142
137The structure that combines a `beak` with further path information is called a
143The structure that combines a `beak` with further path information is called a
138`beam`.
144`beam`.
139
145
140−##### Relative paths
146+#### Relative paths
141
147
142The `%` command, which we gestured at in the above section, represents the
148The `%` command, which we gestured at in the above section, represents the
143**relative path**, which is the path where you are currently working. If your
149**relative path**, which is the path where you are currently working. If your
@@ -164,7 +170,7 @@ up twice the hierarchy.
164There are no local relative paths. `/foo/bar` must be written as
170There are no local relative paths. `/foo/bar` must be written as
165`%/foo/bar`.
171`%/foo/bar`.
166
172
167−##### Substitution
173+#### Substitution
168
174
169You don't need to write out the explicit path every time you want to reference
175You don't need to write out the explicit path every time you want to reference
170somewhere outside of your working directory. You can substitute `=` for the
176somewhere outside of your working directory. You can substitute `=` for the
@@ -191,7 +197,8 @@ paths. For example, if you are in the `/gen` directory, you can reference a file
191in the `/app` directory like below. (`+cat` displays the contents of a file).
197in the `/app` directory like below. (`+cat` displays the contents of a file).
192
198
193```
199```
194−~your-urbit:dojo/home/gen> +cat /===/app/curl/hoon
200+~your-urbit:dojo> =dir %/gen
201+~your-urbit:dojo/=/=/~2018.10.2..00.35.44..d7e8/gen> +cat /===/app/curl/hoon
195```
202```
196
203
197Note what was substituted out, and note that we don't need to separate `=` with
204Note what was substituted out, and note that we don't need to separate `=` with
@@ -201,7 +208,8 @@ If we changed our working directory to something called `/gen/gmail`, we could
201access a file called
208access a file called
202
209
203```
210```
211+~your-urbit:dojo/=/=/~2018.10.2..00.35.44..d7e8/gen> =dir %/gmail
204−~fasdul-balsev-lodleb-ritrul:dojo/home/gen/gmail> +cat /===/app/=/split/hoon
212+~your-urbit:dojo/=/=/~2018.10.2..00.35.44..d7e8/gen/gmail> +cat /===/app/=/split/hoon
205```
213```
206
214
207Because both paths share a directory named `/gmail` at the same position in the
215Because both paths share a directory named `/gmail` at the same position in the
@@ -213,47 +221,50 @@ We can do the same thing between desks. If `%sandbox` has been merged with
213command.
221command.
214
222
215```
223```
216−~your-urbit:dojo/home/gen/gmail> +cat /=sandbox=/app/=/split/hoon
224+~your-urbit:dojo/=/=/~2018.10.2..00.35.44..d7e8/gen/gmail> +cat /=sandbox=/app/=/split/hoon
217```
225```
218
226
219Most commonly this is used to avoid having to know the current revision
227Most commonly this is used to avoid having to know the current revision
220−number in the `dojo`: `~lodleb-ritrul/home/~2018.10.2..00.35.44..d7e8/gen/example.hoon`
228+number in the `dojo`: `/~lodleb-ritrul/home/~2018.10.2..00.35.44..d7e8/gen/example/hoon`
221
229
222−##### Changing directories
230+#### Changing directories
223
231
224Change the working directory with `=dir`. It's our equivalent of the Unix `cd`.
232Change the working directory with `=dir`. It's our equivalent of the Unix `cd`.
225
233
226For example, the syntax to navigate to `/home/gen/ask` is:
234For example, the syntax to navigate to `/home/gen/ask` is:
227
235
228```
236```
229−~your-urbit:dojo> =dir /=gen=/ask
237+~your-urbit:dojo> =dir /=home=/gen/ask
230```
238```
231
239
232This command will turn your prompt into something like this:
240This command will turn your prompt into something like this:
233
241
234```
242```
235−~your-urbit:dojo/gen/ask>
243+~your-urbit:dojo/=/=/~2018.10.2..00.35.44..d7e8/gen/ask>
236```
244```
237
245
238Using `=dir` without anything else uses the null path, which returns you to
246Using `=dir` without anything else uses the null path, which returns you to
239your home desk.
247your home desk.
240
248
241```
249```
242−~your-urbit:dojo> =dir
250+~your-urbit:dojo/=/=/~2018.10.2..00.35.44..d7e8/gen/ask> =dir
243```
251```
244
252
253+Your dojo prompt will turn back into `~your-urbit:dojo>`.
254+
245To go up levels in the path hierarchy, recall the relative path expression
255To go up levels in the path hierarchy, recall the relative path expression
246`%`. Stacking them represents another level higher in the hierarchy than
256`%`. Stacking them represents another level higher in the hierarchy than
247the current working directory for each `%` beyond the initial. The command below
257the current working directory for each `%` beyond the initial. The command below
248brings you one level up:
258brings you one level up:
249
259
250```
260```
251−~your-urbit:dojo/gen> =dir %%
261+~your-urbit:dojo> =dir %/gen
262+~your-urbit:dojo/=/=/~2018.10.2..00.35.44..d7e8/gen> =dir %%
252```
263```
253
264
254### Revision-control
265### Revision-control
255
266
256−##### Mount
267+#### Mount
257
268
258Syntax: `|mount /clay/path [Unix-name]`
269Syntax: `|mount /clay/path [Unix-name]`
259
270
@@ -273,7 +284,7 @@ Mounts `%/web` to `/web` inside your pier directory.
273
284
274Mounts `%/gen` to `/generators` inside your pier directory.
285Mounts `%/gen` to `/generators` inside your pier directory.
275
286
276−##### Unmount
287+#### Unmount
277
288
278```
289```
279|unmount [clay-path || Unix-name]
290|unmount [clay-path || Unix-name]
@@ -295,6 +306,8 @@ Unmounts the path `%/web` from whatever name it was mounted as.
295
306
296Unmounts the Unix path `/generators`.
307Unmounts the Unix path `/generators`.
297
308
309+#### Merge
310+
298```
311```
299|merge desk beak[, =gem strategy]
312|merge desk beak[, =gem strategy]
300```
313```
@@ -318,6 +331,8 @@ Merge `/=home=` into `%home-work` using merge strategy `%fine`.
318
331
319Merge the `%examples` desk from `~waxbex-ribmex`
332Merge the `%examples` desk from `~waxbex-ribmex`
320
333
334+#### Sync
335+
321```
336```
322|sync desk plot [plot-desk]
337|sync desk plot [plot-desk]
323```
338```
@@ -337,6 +352,8 @@ that issued a star).
337|sync %home ~doznec
352|sync %home ~doznec
338```
353```
339
354
355+#### Unsync
356+
340```
357```
341|unsync desk plot [plot-desk]
358|unsync desk plot [plot-desk]
342```
359```
@@ -350,6 +367,8 @@ Example:
350|unsync %home-local ~dozbud %home
367|unsync %home-local ~dozbud %home
351```
368```
352
369
370+#### Label
371+
353```
372```
354|label desk name`
373|label desk name`
355```
374```
@@ -411,7 +430,7 @@ annotate any conflicts, if we know how.
411
430
412### Manipulation
431### Manipulation
413
432
414−##### +cat
433+#### +cat
415
434
416Syntax: `+cat path [path ...]`
435Syntax: `+cat path [path ...]`
417
436
@@ -419,7 +438,7 @@ Similar to Unix `cat`. `+cat` takes one or more `path`s, and prints their
419contents. If that `path` is a file, the contents of the file is printed. If the
438contents. If that `path` is a file, the contents of the file is printed. If the
420`path` terminates in a directory, the list of names at that path is produced.
439`path` terminates in a directory, the list of names at that path is produced.
421
440
422−##### +ls
441+#### +ls
423
442
424Syntax: `+ls path`
443Syntax: `+ls path`
425
444
@@ -431,20 +450,20 @@ Produces a list of names at the `path`.
431~your-urbit:dojo> +cat %/our/home/gen/curl/hoon
450~your-urbit:dojo> +cat %/our/home/gen/curl/hoon
432```
451```
433
452
434−##### |rm
453+#### |rm
435
454
436Syntax: `|rm path`
455Syntax: `|rm path`
437
456
438Remove the data at `path`. `path` must be a path to actual node, not a
457Remove the data at `path`. `path` must be a path to actual node, not a
439'directory'
458'directory'
440
459
441−##### |cp
460+#### |cp
442
461
443Syntax: `|cp to from`
462Syntax: `|cp to from`
444
463
445Copy the file at `from` into the path `to`.
464Copy the file at `from` into the path `to`.
446
465
447−##### |mv
466+#### |mv
448
467
449Syntax: `|mv to from`
468Syntax: `|mv to from`
450
469
using/messaging.md+13−3
@@ -24,7 +24,7 @@ be used for that we haven't even thought of.
24
24
25Here we'll be discussing how to operate the default CLI frontend, Talk,
25Here we'll be discussing how to operate the default CLI frontend, Talk,
26to send and receive messages. For a more in-depth look at Hall's internals,
26to send and receive messages. For a more in-depth look at Hall's internals,
27−take a look at its [documentation](./docs/learn/arvo/hall.md).
27+take a look at its [documentation](@/docs/learn/arvo/hall.md).
28
28
29## Quickstart
29## Quickstart
30
30
@@ -488,11 +488,21 @@ messages sent from this prompt will go to some circle with that glyph:
488```
488```
489
489
490To see what circle is bound to a glyph, use the `;what` command followed by the
490To see what circle is bound to a glyph, use the `;what` command followed by the
491−glyph in question. For example, to see `=`:
491+glyph in question, or use `;what` without specifying a glyph to see all of your
492+subscriptions which are bound to glyphs. For example, to see `=`:
492
493
493```
494```
494~sampel-palnet:talk> ;what =
495~sampel-palnet:talk> ;what =
496+~dopzod/urbit-help
497+```
498+
499+To see all of your glyph-bound subscriptions:
500+
501+```
502+~sampel-palnet:talk> ;what
503+> ~paldev/numismatic-forum
504+. ~middev/ny-martians
495−/urbit-help
505+= ~dopzod/urbit-help
496```
506```
497
507
498Not every audience has a glyph, however. When the audience doesn't have a glyph,
508Not every audience has a glyph, however. When the audience doesn't have a glyph,
using/operating-a-star.md+2−2
@@ -15,7 +15,7 @@ Stars are above planets in the network hierarchy in the sense that each star spo
15
15
16Stars are also the "parents" planets. A new planet comes into existence only when spawned by a parent star. A parent planet is the sponsor of its children planets by default. This can change if a planet chooses to find a new sponsor (see the "Escaping a Sponsor" section below).
16Stars are also the "parents" planets. A new planet comes into existence only when spawned by a parent star. A parent planet is the sponsor of its children planets by default. This can change if a planet chooses to find a new sponsor (see the "Escaping a Sponsor" section below).
17
17
18−Planets must have a sponsor star to use most features of the Arvo network. A planet cannot boot without a sponsor, and cannot make new connections to peers as long as it is not connected to a sponsor. Sponsorless planets will still be able to message discovered peers until any such peers change their IP addresses.
18+Planets must have a sponsor star to use most features of the Arvo network. A planet cannot boot without a sponsor, and cannot make new connections to peers as long as it is not connected to a sponsor. Planets without a sponsor will still be able to message discovered peers until any such peers change their IP addresses.
19
19
20## Responsibilities
20## Responsibilities
21
21
@@ -46,4 +46,4 @@ All of these actions happen on Azimuth. There will be Bridge functionality to ha
46
46
47+ The planet calls the `escape` function in the Ecliptic contract and writes the resulting data to the blockchain.
47+ The planet calls the `escape` function in the Ecliptic contract and writes the resulting data to the blockchain.
48+ If the chosen star wants to become the planet's sponsor, it calls the `adopt` function in the Ecliptic contract.
48+ If the chosen star wants to become the planet's sponsor, it calls the `adopt` function in the Ecliptic contract.
49−+ The Arvo network notices the change, and the operation is complete.
49++ The Arvo network notices the change, and the operation is complete.
using/sail-and-udon.md+2−2
@@ -27,7 +27,7 @@ Before starting with either Sail or Udon, make sure that your ship is
27
27
28To host that output, your ship also has a web-server, called
28To host that output, your ship also has a web-server, called
29[Eyre](https://urbit.org/docs/using/web/), that can be found at
29[Eyre](https://urbit.org/docs/using/web/), that can be found at
30−`http://localhost:8080/` if it’s your first ship that’s running on the a
30+`http://localhost:8080/` if it’s your first ship that’s running on the
31machine, `http://localhost:8081/` if it’s the second ship on that same machine,
31machine, `http://localhost:8081/` if it’s the second ship on that same machine,
32and so on. In the startup messages, a ship will tell you which HTTP port it's
32and so on. In the startup messages, a ship will tell you which HTTP port it's
33using.
33using.
@@ -692,7 +692,7 @@ can show you how to access various ship resources for user in your pages. To
692learn more about how the renderer works, take a look at the
692learn more about how the renderer works, take a look at the
693`/home/ren/urb.hoon` file inside your urbit.
693`/home/ren/urb.hoon` file inside your urbit.
694
694
695−## <a name="udon"></a>Udon: A Guide
695+## Udon: A Guide {#udon}
696
696
697Udon is a way to write content for the web. It's a minimalist
697Udon is a way to write content for the web. It's a minimalist
698markup language for creating and rendering text documents, with a
698markup language for creating and rendering text documents, with a
using/shell.md+28−13
@@ -31,7 +31,7 @@ Tall-form Hoon may require multiple lines:
31~your-urbit:dojo< 2
31~your-urbit:dojo< 2
32```
32```
33
33
34−Hoon uses something called [the subject](./docs/learn/hoon/hoon-tutorial/the-subject-and-its-legs.md).
34+Hoon uses something called [the subject](@/docs/learn/hoon/hoon-tutorial/the-subject-and-its-legs.md).
35The Dojo has its own subject, and that's where Hoon's equivalent of variables,
35The Dojo has its own subject, and that's where Hoon's equivalent of variables,
36called faces, are stored.
36called faces, are stored.
37
37
@@ -53,7 +53,7 @@ Use `=dir` to set the current working directory:
53```
53```
54
54
55(`%` represents your current directory. For a complete explanation on urbit
55(`%` represents your current directory. For a complete explanation on urbit
56−paths, see the [filesystem section](./docs/using/filesystem.md))
56+paths, see the [filesystem section](@/docs/using/filesystem.md))
57
57
58Generators (files in `/gen`) are run with `+`:
58Generators (files in `/gen`) are run with `+`:
59
59
@@ -256,7 +256,7 @@ Apps usually expect marked data, so `&` is often used here.
256
256
257##### `*` - Save in `%clay`
257##### `*` - Save in `%clay`
258
258
259−Save a new `.udon` ([Udon](./docs/using/sail-and-udon.md)) file in `web`:
259+Save a new `.udon` ([Udon](@/docs/using/sail-and-udon.md)) file in `web`:
260
260
261```
261```
262~your-urbit:dojo> *%/web/foo/udon '# hello'
262~your-urbit:dojo> *%/web/foo/udon '# hello'
@@ -287,11 +287,25 @@ Which outputs a new `urbit.pill` to `pier/.urb/put/urbit.pill`
287
287
288##### `&` - Mark conversion
288##### `&` - Mark conversion
289
289
290−Convert between marks using `&`:
290+Convert between marks using `&`, with the destination mark first. You can stack multiple mark conversions together, and some marks can only be converted to specific other marks. In this example, [Udon](@/docs/using/sail-and-udon.md#udon) is converted to `&hymn` (a mark which supplies the `html`, `head`, `body` and closing tags) first, before being converted to HTML:
291
291
292```
292```
293−~your-urbit:dojo> &html &md '# hello'
293+~your-urbit:dojo>&html &hymn &udon ';h1#hello: hello'
294−'<html><head></head><body><div><h1 id="-hello">hello</h1></div></body></html>'
294+'<html><head></head><body><h1 id="hello">hello</h1></body></html>'
295+```
296+
297+Performing a conversion straight from Udon to the `&hymn` mark reveals a bit more about its mark conversion:
298+
299+```
300+~your-urbit:dojo>&hymn &udon ';h1#hello: hello'
301+[[%html ~] [[%head ~] ~] [[%body ~] [g=[n=%h1 a=~[[n=%id v="hello"]]] c=~[[g=[n=%$ a=~[[n=%$ v="hello"]]] c=~]]] ~] ~]
302+```
303+
304+As does converting straight from Udon to HTML:
305+
306+```
307+~your-urbit:dojo>&html &udon ';h1#hello: hello'
308+';h1#hello: hello'
295```
309```
296
310
297##### `_` - Run a function
311##### `_` - Run a function
@@ -362,9 +376,11 @@ with `/+`. Read / write.
362**Examples:**
376**Examples:**
363
377
364```
378```
365−~your-urbit:dojo> /+ react
379+~your-urbit:dojo> /+ number-to-words
380+```
366−~your-urbit:dojo> :: now we can use arms from lib/react.hoon
381+Now we can use arms from lib/number-to-words.hoon
367−~your-urbit:dojo> (react-vale:react %div)
382+```
383+~your-urbit:dojo> (to-words:eng-us:number-to-words 123.456)
368```
384```
369
385
370##### sur
386##### sur
@@ -376,7 +392,9 @@ with `/-`. Read / write.
376
392
377```
393```
378~your-urbit:dojo> /- sole
394~your-urbit:dojo> /- sole
395+```
379−~your-urbit:dojo> :: now we can use arms in sur/sole.hoon
396+Now we can use arms in sur/sole.hoon.
397+```
380~your-urbit:dojo> `sole-effect:sole`[%bel ~]
398~your-urbit:dojo> `sole-effect:sole`[%bel ~]
381```
399```
382
400
@@ -388,7 +406,6 @@ The current (128-bit `@da`) time. Read-only.
388
406
389```
407```
390~your-urbit:dojo> now
408~your-urbit:dojo> now
391−:: produces
392~2016.3.21..21.10.57..429a
409~2016.3.21..21.10.57..429a
393```
410```
394
411
@@ -400,7 +417,6 @@ The current urbit ship. Read-only.
400
417
401```
418```
402~your-urbit:dojo> our
419~your-urbit:dojo> our
403−:: produces
404~your-urbit
420~your-urbit
405```
421```
406
422
@@ -412,7 +428,6 @@ The current urbit ship. Read-only.
412
428
413```
429```
414~your-urbit:dojo> eny
430~your-urbit:dojo> eny
415−:: produces
416\/0vnt.d474o.gpahj.jcf3o.448fh.2lamb.82ljm.8ol8u.b02vi.mrvvp.b7et2.knb7m.l8he\/
431\/0vnt.d474o.gpahj.jcf3o.448fh.2lamb.82ljm.8ol8u.b02vi.mrvvp.b7et2.knb7m.l8he\/
417 8.8qb9s.drm36.77n9b.a0qst.30g03.l5lb5.nvsbc.v39tn
432 8.8qb9s.drm36.77n9b.a0qst.30g03.l5lb5.nvsbc.v39tn
418\/
433\/