on master help sign in
Merge branch 'master' of github.com:urbit/urbit.org into ga/search
commit2f12fef145c44fda25b5484deff624e5b2256650 authorGavin Atkinson <gvnatknsn@protonmail.com> dateSat 7 Aug 2021, 17:20 (5 years ago) parent7f77cf52d733c4
109 files changed+2094−1476
content/Bitcoin-wallet.md+1−1 content/blog/an-urbit-overview.md+5−5 content/blog/first-contract.md+23−23 content/blog/first-steps-towards-urbit-org.md+1−1 content/blog/interim-constitution.md+1−1 content/blog/magic.md+1−1 content/blog/on-christopher-alexander.md+1−1 content/blog/the-urbit-address-space.md+1−1 content/community/governance.md+1−1 content/community/hosting-a-meetup.md+1−1 content/community/meetups.md+1−1 content/docs/arvo/ames/ames.md+83−40 content/docs/arvo/ames/cryptography.md+6−6 content/docs/arvo/gall/overview.md+1−1 content/docs/arvo/jael/_index.md+20 content/docs/arvo/jael/data-types.md+243 content/docs/arvo/jael/examples.md+251 content/docs/arvo/jael/jael-api.md−393 content/docs/arvo/jael/jael.md+25 content/docs/arvo/jael/scry.md+204 content/docs/arvo/jael/tasks.md+225 content/docs/arvo/reference/_index.md+2−2 content/docs/arvo/reference/cryptography.md+9−9 content/docs/arvo/reference/filesystem.md+10−10 content/docs/azimuth/azimuth.md+2−2 content/docs/development/develop.md+1−1 content/docs/glossary/ames.md+3−3 content/docs/glossary/aqua.md+2−2 content/docs/glossary/arm.md+1−1 content/docs/glossary/arvo.md+9−9 content/docs/glossary/atom.md+1−1 content/docs/glossary/azimuth.md+3−3 content/docs/glossary/battery.md+1−1 content/docs/glossary/behn.md+2−2 content/docs/glossary/breach.md+3−3 content/docs/glossary/bridge.md+2−2 content/docs/glossary/censure.md+1−1 content/docs/glossary/ceremony.md+1−1 content/docs/glossary/chat.md+3−3 content/docs/glossary/claims.md+1−1 content/docs/glossary/clay.md+1−1 content/docs/glossary/comet.md+6−6 content/docs/glossary/core.md+1−1 content/docs/glossary/delegated-sending.md+1−1 content/docs/glossary/desk.md+1−1 content/docs/glossary/dill.md+2−2 content/docs/glossary/docvote.md+1−1 content/docs/glossary/dojo.md+3−3 content/docs/glossary/door.md+1−1 content/docs/glossary/ecliptic.md+3−3 content/docs/glossary/eventlog.md+4−4 content/docs/glossary/eyre.md+3−3 content/docs/glossary/ford.md+3−3 content/docs/glossary/galaxy.md+3−3 content/docs/glossary/gall.md+1−1 content/docs/glossary/gate.md+2−2 content/docs/glossary/hdwallet.md+2−2 content/docs/glossary/hoon.md+1−1 content/docs/glossary/invite-tree.md+1−1 content/docs/glossary/iris.md+2−2 content/docs/glossary/jael.md+1−1 content/docs/glossary/jaque.md+1−1 content/docs/glossary/keyfile.md+2−2 content/docs/glossary/landscape.md+2−2 content/docs/glossary/mark.md+2−2 content/docs/glossary/moon.md+4−4 content/docs/glossary/nock.md+3−3 content/docs/glossary/noun.md+1−1 content/docs/glossary/ota-updates.md+1−1 content/docs/glossary/payload.md+1−1 content/docs/glossary/ph.md+1−1 content/docs/glossary/pier.md+3−3 content/docs/glossary/pill.md+3−3 content/docs/glossary/planet.md+2−2 content/docs/glossary/proxies.md+4−4 content/docs/glossary/replay.md+1−1 content/docs/glossary/sailudon.md+2−2 content/docs/glossary/senate.md+5−5 content/docs/glossary/ship.md+8−8 content/docs/glossary/shiparvonetwork.md+1−1 content/docs/glossary/star.md+3−3 content/docs/glossary/sync.md+2−2 content/docs/glossary/trap.md+1−1 content/docs/glossary/upgrade.md+4−4 content/docs/glossary/vane.md+10−10 content/docs/glossary/vere.md+3−3 content/docs/glossary/voting.md+4−4 content/docs/glossary/wallet-generator.md+1−1 content/docs/hoon/hoon-school/doors.md+1−1 content/docs/hoon/hoon-school/list-of-numbers.md+1−1 content/docs/hoon/reference/irregular.md+5−5 content/docs/hoon/reference/stdlib/3d.md+2−2 content/docs/hoon/reference/stdlib/table-of-contents.md+788−788 content/docs/system-overview/cryptography.md+3−3 content/docs/userspace/threads/basics/summary.md+2−2 content/docs/userspace/threads/gall/start-thread.md+1−1 content/docs/userspace/threads/http-api.md+2−2 content/docs/vere/_index.md+1−1 content/docs/vere/cryptography.md+2−2 content/faq.md+6−6 content/grants/bitcoin-key-derivation.md+1−1 content/grants/bitcoin-wallet-on-bridge.md+1−1 content/grants/educational-guide-todomvc-urbit-edition.md+1−1 content/grants/the-complete-guide-to-gall-and-landscape.md+1−1 content/grants/unit-tests-for-zuse-cryptographic-functions.md+1−1 content/grants/volt-lightning-on-urbit.md+2−2 content/updates/2016-5-16-roadmap.md+1−1 content/using/id/guide-to-breaches.md+1−1 pages/index.js+1−1
content/Bitcoin-wallet.md+1−1
@@ -18,7 +18,7 @@ If you are interested in [being a provider](https://subject.network/posts/btc-wa
1818
1919### Verify
2020
21−You should verify your version of this Bitcoin wallet. To do so, follow the instructions in the README in our [Github](https://github.com/urbit/urbit/blob/master/pkg/btc-wallet/README.md) repo.
21+You should verify your version of this Bitcoin wallet. To do so, follow the instructions in the README in our [Github](https://github.com/urbit/urbit/blob/master/pkg/btc-wallet/README) repo.
2222
2323Instructions reproduced here:
2424
content/blog/an-urbit-overview.md+5−5
@@ -201,11 +201,11 @@ with a small, fixed-price public presale of Urbit address space. Join
201201us and help make this future actually happen.
202202
203203To keep reading, learn more about [Urbit's address
204−space](../the-urbit-address-space); share our vision of the Urbit user
205−experience, from the [top down](../what-is-urbit-for) or the [bottom
206−up](../magic); check out the [development roadmap](../roadmap);
207−evaluate Urbit's [beliefs and principles](../beliefs-and-principles) or its
208−[interim constitution](../interim-constitution).
204+space](/blog/the-urbit-address-space); share our vision of the Urbit user
205+experience, from the [top down](/blog/what-is-urbit-for) or the [bottom
206+up](/blog/magic); check out the [development roadmap](/blog/roadmap);
207+evaluate Urbit's [beliefs and principles](/blog/beliefs-and-principles) or its
208+[interim constitution](/blog/interim-constitution).
209209
210210(For technical readers, check out our [documentation](https://urbit.org/docs/) or
211211the [whitepaper](https://media.urbit.org/whitepaper.pdf)).
content/blog/first-contract.md+23−23
@@ -15,9 +15,9 @@ image = "https://media.urbit.org/site/posts/essays/land3.jpg"
1515<br>
1616
1717Recently, the [first upgrade](https://github.com/urbit/azimuth/pull/35) to the
18−[Azimuth](@/docs/glossary/azimuth.md) smart contracts which make up Urbit ID was
19−put up to an [upgrade proposal vote](@/docs/glossary/upgrade.md) by the
20−[Galactic Senate](@/docs/glossary/senate.md). This vote is still open and will
18+[Azimuth](/docs/glossary/azimuth) smart contracts which make up Urbit ID was
19+put up to an [upgrade proposal vote](/docs/glossary/upgrade) by the
20+[Galactic Senate](/docs/glossary/senate). This vote is still open and will
2121last for 30 days (June 20th) or until an absolute majority is reached. We’d like
2222to take this opportunity to discuss two things. [First](#changelist), what the
2323proposed changes are, and [second](#senate), a review of how Urbit governance
@@ -25,16 +25,16 @@ works and where we’re at in the decentralization process.
2525
2626Before we dive into what the proposed changes are, let’s review what the Senate
2727is actually capable of changing. Urbit ID is really two sets of smart contracts:
28−Azimuth and [Ecliptic](@/docs/glossary/ecliptic.md). Azimuth is the data of the
28+Azimuth and [Ecliptic](/docs/glossary/ecliptic). Azimuth is the data of the
2929public key infrastructure - roughly, this is the list of
30−[ships](@/docs/glossary/ship.md) and which Ethereum addresses own them, along
30+[ships](/docs/glossary/ship) and which Ethereum addresses own them, along
3131with other data such as networking keys and sponsorship status. The Senate has
3232no ability to touch this data directly. This is in direct contrast to all
3333existing centralized services, where your account is always at risk of being
3434taken away from you. What the Senate can change is Ecliptic, which is the
3535“business logic” that decides how you can interact with the data in Azimuth.
3636These are mechanisms such as what powers various
37−[proxies](@/docs/glossary/proxies.md) have, how stars/planets are released over
37+[proxies](/docs/glossary/proxies) have, how stars/planets are released over
3838time, and how sponsorship works. Put another way, the data and database format
3939must remain the same, but the rules by which we interact with it may change
4040according to the governance rules we [detail below](#senate).
@@ -119,27 +119,27 @@ current position, but still serve as useful historical markers. We hope to
119119revisit and refresh these documents soon.
120120
121121- [2016.5.16 - Interim
122− Constitution](@/blog/interim-constitution.md)
122+ Constitution](/blog/interim-constitution)
123123- [2016.5.16 - The
124− Urbit Address Space](@/blog/the-urbit-address-space.md)
124+ Urbit Address Space](/blog/the-urbit-address-space)
125125- [2016.6.24 - The DAO as a Lesson in Decentralized
126− Governance](@/blog/the-dao-as-a-lesson-in-decentralized-governance.md)
126+ Governance](/blog/the-dao-as-a-lesson-in-decentralized-governance)
127127- [2019.1.11 - Governance of
128− urbit.org](@/blog/governance-of-urbit.md)
128+ urbit.org](/blog/governance-of-urbit)
129129
130130### Galactic Senate
131131
132−The Galactic Senate is composed of all [galaxy](@/docs/glossary/galaxy.md)
132+The Galactic Senate is composed of all [galaxy](/docs/glossary/galaxy)
133133holders, which at present consists of more than 100 individuals and a few
134134organizations, including Tlon and the Urbit Foundation. Using the Azimuth
135135voting contract, the Senate can present and vote on two kinds of proposals:
136−[document proposals](@/docs/glossary/docvote.md) and [upgrade
137−proposals](@/docs/glossary/upgrade.md). Thus far, all matters which the Senate
136+[document proposals](/docs/glossary/docvote) and [upgrade
137+proposals](/docs/glossary/upgrade). Thus far, all matters which the Senate
138138has voted on have been document proposals. The [most recent
139139vote](https://github.com/urbit/azimuth/pull/34) declared the Urbit network as
140140(i) being secure (as confirmed by a [third party
141−audit](@/blog/security-audit.md)) and (ii) having reached continuity (as in, no
142−further [network breaches](@/docs/glossary/breach.md) are expected). Previous votes
141+audit](/blog/security-audit)) and (ii) having reached continuity (as in, no
142+further [network breaches](/docs/glossary/breach) are expected). Previous votes
143143were to declare that [Azimuth is live](https://github.com/urbit/azimuth/pull/25)
144144and that [Arvo is stable](https://github.com/urbit/azimuth/pull/24).
145145
@@ -155,7 +155,7 @@ In the beginning, Urbit’s creator Curtis Yarvin was in possession of the entir
155155address space - all 256 galaxies, and everything underneath it. A network of one
156156is no network at all, and so over the last decade Urbit’s development has been
157157primarily driven by selling or giving away these galaxies. On [June 1,
158−2016](@/blog/the-urbit-address-space.md), the allocation was:
158+2016](/blog/the-urbit-address-space), the allocation was:
159159
160160> 95, to the Tlon Corporation. 50, to urbit.org, the future community
161161> foundation. 40, to Tlon employees and their family members (24 to Curtis, who
@@ -167,9 +167,9 @@ primarily driven by selling or giving away these galaxies. On [June 1,
167167Since then, Tlon has sold a number of
168168its galaxies to fund development and others have changed hands to the point
169169that Tlon and urbit.org no longer possess a majority share of galaxies. In
170−January 2019, [Curtis gave all of his galaxies](@/blog/a-founders-farewell.md) to
170+January 2019, [Curtis gave all of his galaxies](/blog/a-founders-farewell) to
171171Tlon when he left the project. In August 2020 we shared an update on the [known
172−distribution of address space](@/blog/value-of-address-space-pt3.md), where
172+distribution of address space](/blog/value-of-address-space-pt3), where
173173Curtis’ galaxies are marked as Tlon’s “naked galaxies”. Shortly thereafter, Tlon
174174disbursed its naked galaxies among the employees that wanted one who did not
175175already possess one, thus removing Tlon and urbit.org’s controlling share of the
@@ -198,13 +198,13 @@ controlled by the users is now well underway.
198198
199199In the past, nearly all Urbit software was written by Tlon. While Tlon is still
200200the only corporation actively updating Urbit’s MIT-licensed open source
201−software, namely [Vere](@/docs/glossary/vere.md) (the runtime),
202−[Arvo](@/docs/glossary/arvo.md) (the kernel),
203−[Landscape](@/docs/glossary/landscape.md) (the client), and
204−[Bridge](@/docs/glossary/bridge.md) (the ID manager), unaffiliated individuals have been making enormous contributions to Urbit over the past couple of years via the [grants program](https://grants.urbit.org/history). Recent examples include the [Bitcoin node and wallet integration](https://github.com/urbit/urbit/pull/4940), [WebRTC integration](https://grants.urbit.org/proposals/21131866-webrtc-gall-agent-and-external-app), [Port, an Urbit installer and ship manager](https://github.com/arthyn/port), and [`|fuse`, an important primitive for 3rd party software distribution](https://github.com/urbit/urbit/pull/4820).
201+software, namely [Vere](/docs/glossary/vere) (the runtime),
202+[Arvo](/docs/glossary/arvo) (the kernel),
203+[Landscape](/docs/glossary/landscape) (the client), and
204+[Bridge](/docs/glossary/bridge) (the ID manager), unaffiliated individuals have been making enormous contributions to Urbit over the past couple of years via the [grants program](https://grants.urbit.org/history). Recent examples include the [Bitcoin node and wallet integration](https://github.com/urbit/urbit/pull/4940), [WebRTC integration](https://grants.urbit.org/proposals/21131866-webrtc-gall-agent-and-external-app), [Port, an Urbit installer and ship manager](https://github.com/arthyn/port), and [`|fuse`, an important primitive for 3rd party software distribution](https://github.com/urbit/urbit/pull/4820).
205205
206206The only real power Tlon holds over Urbit is the ability to push [OTA
207−updates](@/docs/glossary/ota-updates.md) via `~zod`, and suggest that people
207+updates](/docs/glossary/ota-updates) via `~zod`, and suggest that people
208208download our binaries. To the best of our knowledge, all extant galaxies
209209retrieve their OTA updates from `~zod`, who forward it to their stars, who
210210forward it to their planets. This software distribution route is merely a
content/blog/first-steps-towards-urbit-org.md+1−1
@@ -56,4 +56,4 @@ I look forward to working with you.
5656
5757[^2]: We’re also really into the idea of being the first builder of housing on Mars. Just saying...
5858
59−[^3]: We call this project Airlock. You’ll hear more about it soon.
59+[^3]: We call this project Airlock. You’ll hear more about it soon.
content/blog/interim-constitution.md+1−1
@@ -28,7 +28,7 @@ may not incorporate any or all of the interim structures.
2828
2929## Beliefs and principles
3030
31−See our document of [beliefs and principles](../beliefs-and-principles).
31+See our document of [beliefs and principles](/blog/beliefs-and-principles).
3232
3333## Governance structures
3434
content/blog/magic.md+1−1
@@ -200,5 +200,5 @@ should not interact in the same place.)
200200
201201And, with magic, we've succeeded in turning Facebook into Urbit.
202202Technically, Urbit is pretty close to magic, but there is no way
203−it's going to happen this way. See the [roadmap](../roadmap) for how it
203+it's going to happen this way. See the [roadmap](/blog/roadmap) for how it
204204actually happens.
content/blog/on-christopher-alexander.md+1−1
@@ -56,7 +56,7 @@ That depends on who you ask.
5656
5757**Édouard (~fabled-faster)**
5858
59−> I enjoy telling people unfamiliar with Urbitand interface design with respect to Urbit, that the object of our work is essentially that of designing an environment &quot;like a piece of paper&quot;.
59+> I enjoy telling people unfamiliar with Urbit and interface design with respect to Urbit, that the object of our work is essentially that of designing an environment &quot;like a piece of paper&quot;.
6060>
6161> Consider how paper as a constrained environment is one that yet can bear nearly any visual expression imaginable—apart from containing drawings or human-made marks, paper can be used to display photographs, paper can be multiplexed to form lenticular holograms, paper can be folded into a crane, etc.
6262>
content/blog/the-urbit-address-space.md+1−1
@@ -201,7 +201,7 @@ own real estate.
201201Urbit was created by Curtis Yarvin, who has distributed the 256
202202galaxies as follows (allocation as of June 1, 2016):
203203
204−95, to the [Tlon Corporation](../company). 50, to urbit.org, the future
204+95, to the [Tlon Corporation](/blog/company). 50, to urbit.org, the future
205205community foundation. 40, to Tlon employees and their family members
206206(24 to Curtis, who started in 2002; 16 to everyone else, who started
207207in 2014). 34, to outside investors in Tlon. 37, to 33 other
content/community/governance.md+1−1
@@ -16,7 +16,7 @@ An owner of a galaxy (or a delegate) can propose a new iteration of the contract
1616
1717In a similar process, document hashes can be proposed. While their off-chain documents can't be "technically enforced", this mechanism is useful for the Senate to record more abstract decisions.
1818
19−For off-chain process around proposals, as suggested by core developers, please see [senate.md](https://github.com/urbit/azimuth/blob/master/senate.md).
19+For off-chain process around proposals, as suggested by core developers, please see [senate.md](https://github.com/urbit/azimuth/blob/master/senate).
2020
2121The group of core developers manages Urbit’s [GitHub repository](https://github.com/urbit/), which controls Arvo, Urbit’s operating system. Changes and upgrades are decided upon by consensus.
2222
content/community/hosting-a-meetup.md+1−1
@@ -8,7 +8,7 @@ hidenext = "true"
88hide_previous_title = "true"
99+++
1010
11−There are already [a few](../meetups) Urbit meetups that take place in cities around the United States. Want to start a meetup in your home town? Consider these best practices.
11+There are already [a few](/community/meetups) Urbit meetups that take place in cities around the United States. Want to start a meetup in your home town? Consider these best practices.
1212
1313### Create the Meetup Group Online
1414
content/community/meetups.md+1−1
@@ -16,7 +16,7 @@ hide_next_title = "true"
1616
1717Turns out that getting Urbit fans together in one room is pretty fun. Here's an incomplete list of community-led Urbit IRL groups. These events are generally informal and very approachable – feel free to dive in.
1818
19−Interested in hosting an Urbit event of your own? Follow our [guide to meetup best-practices](../hosting-a-meetup). Send an email to [support@urbit.org](mailto:support@urbit.org) and we'll list your meetup on this page.
19+Interested in hosting an Urbit event of your own? Follow our [guide to meetup best-practices](/community/hosting-a-meetup). Send an email to [support@urbit.org](mailto:support@urbit.org) and we'll list your meetup on this page.
2020
2121### Asia
2222
content/docs/arvo/ames/ames.md+83−40
@@ -128,31 +128,46 @@ There is a 32-bit header followed by a variable width body.
128128
129129The 32-bit header is given by the following data, presented in order:
130130
131− - 3 bits: Ames `protocol-version`,
132− - 20 bits: a checksum as a truncated insecure hash of the body, done with
133− [`+mug`](/docs/hoon/reference/stdlib/2e#mug),
134− - 2 bits: the bit width of the sender address encoded as a 2-bit enum,
135− - 2 bits: the bit width of the receiver address encoded as a 2-bit enum,
136− - 1 bit: whether the packet is encrypted or not,
137− - 4 bits: unused.
131+ - 3 bits: reserved
132+ - 1 bit: is this Ames? (i.e. not using a different protocol, such as the
133+ planned remote scry protocol)
134+ - 3 bits: Ames protocol version (currently 0)
135+ - 2 bits: sender address size
136+ - 2 bits: receiver address size
137+ - 20 bits: checksum (truncated insecure hash of the body, done with
138+ [`+mug`](/docs/hoon/reference/stdlib/2e#mug)
139+ - 1 bit: is this relayed? (if set, `origin` will be present in the body)
138140
139141 Every packet sent between ships is encrypted except for self-signed attestation packets from 128-bit comets.
140142
141143#### Body
142144
143−The body is of variable length and consists of three parts in this order:
145+The body is of variable length and consists of the following parts in this
146+order:
144147
145− - The `@p` of the sending ship,
146− - The `@p` of the receiving ship,
147− - The payload, which is the [`+jam`](/docs/hoon/reference/stdlib/2p#jam) (i.e. serialization) of the noun `[origin content]`.
148+ - 4 bits: sender life (mod 16)
149+ - 4 bits: receiver life (mod 16)
150+ - variable: sender address
151+ - variable: receiver address
152+ - 48 bits: (optional) 48-bit `origin`
153+ - 128 bits: `SIV`
154+ - 16 bits: ciphertext size
155+ - variable: ciphertext
148156
149157 `origin` is the IP and port of the original sender if the packet was proxied
150− through a relay and null otherwise. `content` is a noun that is either an encrypted ack or an
151− encrypted message fragment, unless it is a comet attestation packet in which
152− case it is unencrypted. `content` is always 1kB in size or less.
153−
154− The sender and receiver live outside of the jammed data section to simplify
155− packet filtering for the interpreter.
158+ through a relay.
159+
160+ `SIV` is a "synthetic initialization vector" as defined in AES-256 SIV, the encryption
161+ algorithm utilized to encrypt Ames packets (see the page on [Ames
162+ cryptography](/docs/arvo/ames/cryptography)). It is formed from the
163+ following noun: `~[sender=@p receiver=@p sender-life=@ receiver-life=@]` (see
164+ [Life and Rift](/docs/azimuth/life-and-rift) for information on what `life`
165+ is). As this data is in Azimuth, it is not explicitly sent over the wire. Thus
166+ the mod 16 sender and receiver life in the first 8 bits are only for quick
167+ filtering of honest packets sent to or from a stale life.
168+
169+ The ciphertext is formed by `+jam`ming a `$shut-packet` and then encrypting
170+ using [`+en:sivc:aes:crypto`](/docs/arvo/reference/cryptography#en).
156171
157172### Packeting
158173
@@ -319,10 +334,10 @@ with `%boon`s and create congestion there. So naxplanations have their own bone,
319334and so do acks to packets that make up a naxplanation, as well as the
320335message-level naxplanation ack.
321336
322−### Packet relaying
337+### Packet relaying and peer discovery
323338
324−Here we describes how the Ames network relays packets. We ignore all details
325−about UDP, which occurs at a lower layer than Ames.
339+Here we describes how the Ames network relays packets and does peer discovery.
340+We ignore all details about UDP, which occurs at a lower layer than Ames.
326341
327342When a ship first contacts another ship, it may only know its `@p`, but an IP
328343address and port are necessary for peer-to-peer communication to occur.
@@ -330,23 +345,34 @@ Thus the initial correspondence between two ships, or additional correspondence
330345following a change in IP or port of one of the parties, will need to be relayed
331346by an intermediary that knows the IP and port of the receiving ship.
332347
333−For now packet relaying is handled entirely by galaxies. Every galaxy is
348+For now, peer discovery is handled entirely by galaxies. Every galaxy is
334349responsible for knowing the IP and port of every planet underneath it. In the
335−future, galaxies will only need to know the star sponsoring a planet, and stars
336−will be responsible for the final step of the relay.
350+future, galaxies will only need to know the IP and port of the star sponsoring a
351+planet, and stars will be responsible for knowing the IP and port of their sponsored planets.
352+
353+Galaxies are also utilized for packet relaying in the case where two ships
354+cannot communicate directly with one another, as is often the case when one or
355+both are behind a
356+[NAT](https://en.wikipedia.org/wiki/Network_address_translation) or certain
357+firewalls. We remark that packet relaying is a necessary component of peer
358+discovery. Thus stars will also assist with packet relaying in the future.
359+
360+In the case of a moon, its parent ship is responsible for packet relaying and peer
361+discovery, analagous to the role that galaxies currently play for stars and planets.
337362
338363The following diagram summarizes the packet creation and forwarding process.
339364
340365<div style="text-align:center">
341−<img src="https://media.urbit.org/docs/arvo/datagram-long.png">
366+<img src="https://media.urbit.org/docs/arvo/datagram-updated-2021-06-09.png">
342367</div>
343368
344369We elaborate on the above diagram.
345370
346371A typical relay will look something like this: `~bacbel-tagfeb` wishes to
347372contact `~worwel-sipnum` but does not know the IP address and port at which
348−`~worwel-sipnum` resides. Both planets live under `~zod`, which knows both of
349−their IP and port numbers by virtue of being the galaxy that both live under.
373+`~worwel-sipnum` resides. Both planets are sponsored by a star sponsored by
374+`~zod`, which knows both of their IP addresses and port numbers by virtue of
375+being the galaxy that both live under.
350376
351377To prepare, `~bacbel-tagfeb` forms a Diffie-Hellman symmetric key with their own
352378private key and the public key of `~worwel-sipnum`, obtained via Jael. Then
@@ -355,23 +381,27 @@ private key and the public key of `~worwel-sipnum`, obtained via Jael. Then
355381The packet has the following format:
356382 - The standard Ames header described in [header](#header), where the checksum
357383 is the `+mug` of the body, and the sender and receiver ship types are `01`,
358− denoting that the sender and receiver are planets. The remainder of the
359− packet is the body.
360− - The body of this packet will be the `@p` of the
361−sender `~bacbel-tagfeb`, followed by the `@p` of the receiver `~worwel-sipnum`,
362−followed by the payload.
363− - The payload of this packet will be the `+jam` of `[origin content]`. `origin`
364−for this initial packet will be `~`, which implies that the packet is
365−originating from the sender. `content` is the `+jam` of the message, encrypted
366−using the Diffie-Hellman symmetric key that was previously computed.
384+ denoting that the sender and receiver are planets. The "is this relayed?" bit
385+ is set to 0 since this is the first hop on the packet route.
386+ - The body of this packet will be the life of `~bacbel-tagfeg` mod 16, followed
387+ by the life of `~worwel-sipnum` mod 16, followed by `~bacbel-tagfeg`,
388+ followed by the receiver `~worwel-sipnum`, followed by the origin `~`
389+ (denoting that the ship sending the packet is the origin). After this comes
390+ the payload.
391+ - The payload of this packet will be the `+jam` of the `content`, which is an encrypted fragment of the message `%watch /path/to/recipes`.
367392
368393`~zod` receives the packet and reads the body. It sees that it is not the
369394intended recipient of the packet, and so gets ready to forward it to
370−`~worwel-sipnum`. First, it [`+cue`s](/docs/hoon/reference/stdlib/2p#cue)
371−(deserializes) the payload and changes the `origin` to the IP and port of
372−`~bacbel-tagfeb`. Then it `+jam`s `[origin content]` to form a new payload, and
373−`+mug`s that payload to get a new checksum. It replaces the old payload and
374−checksum with the new, and then sends the packet along to `~worwel-sipnum`.
395+`~worwel-sipnum`. First, it replaces the origin field with the IP and port of
396+`~bacbel-tagfeb`, then computes the `+mug` of the body and replaces the checksum
397+with the new mug. Since the packet is being relayed, `~zod` flips the "is it
398+relayed?" bit to `%.y`. `~zod` then forwards the packet to `~worwel-sipnum`.
399+
400+In order to decrypt the packet, `~worwel-sipnum` will need to calculate the
401+associated data vector utilized by SIV, which consists of `~[sender=@p
402+receiver=@p sender-life=@ receiver-life=@]`. It then passes that along with the
403+SIV and ciphertext to the decryption function, and receives the unencrypted
404+packet as a return.
375405
376406Once `~worwel-sipnum` processes the packet, it will know the IP and port of
377407`~bacbel-tagfeb` since `~zod` included it when it forwarded the packet. Thus
@@ -381,6 +411,18 @@ NAT and/or firewall prevents a direct peer-to-peer connection, in which case
381411peer-to-peer connection, communication between the two ships will now be direct
382412until one of them changes their IP address, port, or networking keys.
383413
414+In this scenario, of course, the message is so short that a single packet would
415+be sufficient to send the message, so the `+cue` of the payload would contain
416+the complete message `%watch /path/to/recipes`. At this point, `~worwel-sipnum`
417+would ack (or nack) the packet, which would perform double duty as a message
418+ack. Assuming that a direct peer-to-peer connection is possible, the ack would
419+be sent directly to `~bacbel-tagfeb` using the IP and port found in the origin
420+field of the received packet rather than being relayed via `~zod`.
421+
422+But if the message were not short enough to be contained in a single packet,
423+each packet would need to be decrypted and `+cue`d to obtain the message
424+fragments that are then put together and `+cue`d again to obtain the complete
425+message.
384426
385427## The Serf and the King
386428
@@ -421,3 +463,4 @@ hands it off the the Unix network interface to be sent.
421463Now the receiving King is handed a UDP packet by Unix. The King removes the UDP
422464wrapper, `+jam`s the `lane` on which it heard the packet, and delivers the packet
423465to the Ames vane as an atom by copying the bytes it heard on the UDP port.
466+
content/docs/arvo/ames/cryptography.md+6−6
@@ -35,9 +35,9 @@ is used for authentication
3535
3636The encrypted payload of each packet is a `$shut-packet`, which is the `+jam` of
3737a cell with the `bone`, message number, and message fragment or ack (see
38−[Ames](@/docs/arvo/ames/ames.md) for more information on packet structure). The
38+[Ames](/docs/arvo/ames/ames) for more information on packet structure). The
3939message fragment is signed using the authentication key. It is encrypted using
40−[`+en:crub:crypto`](@/docs/arvo/reference/cryptography.md#en) found in
40+[`+en:crub:crypto`](/docs/arvo/reference/cryptography#en) found in
4141`sys/zuse.hoon`, which utilizes the 256-bit AES-SIV algorithm.
4242
4343## Diffie-Hellman key exchange {#key-exchange}
@@ -45,7 +45,7 @@ message fragment is signed using the authentication key. It is encrypted using
4545For each foreign ship a given ship has communicated with, `$ames-state` contains a
4646`$peer-state`, inside which the `$symmetric-key` (an atom which nests under
4747`@uw`) is utilized for encrypting all Ames packets shared between the two ships.
48−The `symmetric-key` is derived using [`+shar:ed:crypto`](@/docs/arvo/reference/cryptography.md#ed) found in `sys/zuse.hoon`,
48+The `symmetric-key` is derived using [`+shar:ed:crypto`](/docs/arvo/reference/cryptography#ed) found in `sys/zuse.hoon`,
4949which is an arm utilized for generating the symmetric key for elliptic curve
5050[Diffie-Hellman key
5151exchange](https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange)
@@ -62,7 +62,7 @@ its identity with an "attestation packet". This is an unencrypted packet whose
6262payload is the comet's signature created with its private key. This is the only
6363circumstance under which a ship will send an unencrypted packet. The signature
6464is generated with
65−[`+sign:as:crub`](@/docs/arvo/reference/cryptography.md#sign-as) found in
65+[`+sign:as:crub`](/docs/arvo/reference/cryptography#sign-as) found in
6666`sys/zuse.hoon`.
6767
6868Upon hearing an attestation packet, the receiving ship will generate a symmetric
@@ -77,7 +77,7 @@ with a non-comet. This is a technical limitation with a planned workaround.
7777## `+acru:ames` {#crypto-core}
7878
7979The `+crypto-core` in `$ames-state` is an `+acru:ames` core, a
80−[lead](@/docs/hoon/reference/advanced.md#dry-polymorphism-and-core-nesting-rules)
80+[lead](/docs/hoon/reference/advanced#dry-polymorphism-and-core-nesting-rules)
8181interface core for asymmetric cryptosuites found in `sys/lull.hoon` which
8282handles encryption, decryption, signing, and verifying. In practice, the only
8383cryptosuite in use is [`+crub:crypto`](#crub), which implements [Suite B
@@ -112,7 +112,7 @@ Cryptography](https://en.wikipedia.org/wiki/NSA_Suite_B_Cryptography).
112112As the `+acru` core is merely an interface, the details on how it is implemented
113113may vary according to the cryptosuite. We summarize what each
114114core is utilized for here, but see
115−[`crub:crypto`](@/docs/arvo/reference/cryptography.md#crub) for more details on
115+[`crub:crypto`](/docs/arvo/reference/cryptography#crub) for more details on
116116how the specific cryptosuite utilized by Ames is implemented.
117117
118118#### `+as:acru`
content/docs/arvo/gall/overview.md+1−1
@@ -4,7 +4,7 @@ weight = 1
44template = "doc.html"
55+++
66
7−**Gall** is the application-management [vane](../vane). Userspace apps –⁠ daemons, really –⁠ are started, stopped, and sandboxed by Gall. Gall provides developers with a consistent interface for connecting their app to [Arvo](../arvo). It allows applications and other vanes to send messages to applications and subscribe to data streams. Messages coming into Gall are routed to the intended application, and the response comes back along the same route. If the intended target is on another [ship](../ship), Gall will route it behind the scenes through [Ames](../ames) to the other ship.
7+**Gall** is the application-management [vane](/docs/glossary/vane). Userspace apps –⁠ daemons, really –⁠ are started, stopped, and sandboxed by Gall. Gall provides developers with a consistent interface for connecting their app to [Arvo](/docs/arvo/arvo). It allows applications and other vanes to send messages to applications and subscribe to data streams. Messages coming into Gall are routed to the intended application, and the response comes back along the same route. If the intended target is on another [ship](/docs/glossary/ship), Gall will route it behind the scenes through [Ames](/docs/arvo/ames/ames) to the other ship.
88
99Gall is located at `/home/sys/vane/gall.hoon` within Arvo.
1010
content/docs/arvo/jael/_index.md+20
@@ -5,3 +5,23 @@ sort_by = "weight"
55template = "sections/docs/chapters.html"
66insert_anchor_links = "right"
77+++
8+
9+## [Overview](/docs/arvo/jael/jael)
10+
11+An overview of Jael, Urbit's security and encryption vane.
12+
13+## [API Reference](/docs/arvo/jael/tasks)
14+
15+The `task`s Jael takes and the `gift`s it returns.
16+
17+## [Scry Reference](/docs/arvo/jael/scry)
18+
19+The scry endpoints of Jael.
20+
21+## [Data Types](/docs/arvo/jael/data-types)
22+
23+Reference documentation of the various data types used by Jael.
24+
25+## [Examples](/docs/arvo/jael/examples)
26+
27+Practical examples of using Jael's `task`s.
content/docs/arvo/jael/data-types.mdnew file+243
@@ -0,0 +1,243 @@
1++++
2+title = "Data Types"
3+weight = 4
4+template = "doc.html"
5++++
6+
7+Jael's section in `lull.hoon` contains three ancillary cores with their own type definitions as well as Jael's general types.
8+
9+### `$public-keys-result`
10+
11+```hoon
12++$ public-keys-result
13+ $% [%full points=(map ship point)]
14+ [%diff who=ship =diff:point]
15+ [%breach who=ship]
16+ ==
17+```
18+
19+This is what Jael gives (in a [%public-keys](/docs/arvo/jael/tasks#public-keys) `gift`) to subcribers who are tracking public key information for a `set` of `ship`s.
20+
21+Typically the `%full` kind with a `map` of `ship`s to [$point:point](#pointpoint)s is given immediately upon subscription and contains all public key records for the ships in question. After the `%full`, a `%diff` (including a [$diff:point](#diffpoint)) will be given whenever a change (such as the sponsor or pubkey) has occurred for one of the ships being tracked, and a `%breach` will be given whenever a continuity breach for a tracked ship occurs.
22+
23+### `$seed`
24+
25+```hoon
26++$ seed [who=ship lyf=life key=ring sig=(unit oath:pki)]
27+```
28+
29+Private boot parameters. The `who` field is the name of the ship, `lyf` is the `life` (key revision number), `key` is the private key and `sig` is the signature of the parent ship if it's a moon, and `~` otherwise.
30+
31+### `$dawn-event`
32+
33+```hoon
34++$ dawn-event
35+ $: =seed
36+ spon=(list [=ship point:azimuth-types])
37+ czar=(map ship [=rift =life =pass])
38+ turf=(list turf)
39+ bloq=@ud
40+ node=(unit purl:eyre)
41+ ==
42+```
43+
44+Ship initialisation parameters.
45+
46+- [$seed](#seed) contains the private boot parameters.
47+- `spon` is a `list` of ships and their [$point](#pointpoint)s in the ship's sponsorship chain, all the way to the galaxy level.
48+- `czar` is a map from each galaxy's `@p` to its `rift`, `life`, and public key (`pass`).
49+- `turf` is a `list` of DNS suffixes used for galaxies, which is `urbit.org` by default.
50+- `bloq` is the number of the Ethereum block in which the ship registered its keys with the Azimuth smart contract.
51+- `node` is the URL of the Ethereum node used to monitor Azimuth.
52+
53+### `$source`
54+
55+```hoon
56++$ source (each ship term)
57+```
58+
59+Source of public key updates for Jael. If it's a `term` it's a Gall agent e.g `%azimuth-tracker`. If it's a `ship`, Jael will subscribe to that ship's Jael for updates - e.g. Jael will subscribe to the parent planet of moons for updates about the moons.
60+
61+### `$source-id`
62+
63+```hoon
64++$ source-id @udsourceid
65+```
66+
67+Numerical index for Jael to organise its `source`s. Jael assigns its `source-id`s sequentially, starting from `0`.
68+
69+### `$state-eth-node`
70+
71+```hoon
72++$ state-eth-node :: node config + meta
73+ $: top-source-id=source-id
74+ sources=(map source-id source)
75+ sources-reverse=(map source source-id)
76+ default-source=source-id
77+ ship-sources=(map ship source-id)
78+ ship-sources-reverse=(jug source-id ship)
79+ ==
80+```
81+
82+Jael's data about `source`s for PKI updates about ships.
83+
84+- `top-source-id` tracks the highest `source-id` so Jael can easily determine what the next `source-id` should be.
85+- `sources` is a `map` of [$source-id](#source-id)s to [$source](#source)s.
86+- `sources-reverse` the same as `sources` but in reverse.
87+- `default-source` is the default `source` to use (typically `0` - `%azimuth-tracker`).
88+- `ship-sources` is a `map` from `ship`s to `source-id`s and records where to get updates from for the ships in question. Typically these will map moons to their parent ships.
89+- `ship-sources-reverse` is the same as `ship-sources` but in reverse.
90+
91+## block
92+
93+Structures for Ethereum blocks.
94+
95+### `$hash:block`
96+
97+```hoon
98++$ hash @uxblockhash
99+```
100+
101+Ethereum block hash.
102+
103+### `$number:block`
104+
105+```hoon
106++$ number @udblocknumber
107+```
108+
109+Ethereum block number.
110+
111+### `$id:block`
112+
113+```hoon
114++$ id [=hash =number]
115+```
116+
117+Ethereum block identifier - contains both the [$hash:block](#hashblock) and [$number:block](#numberblock).
118+
119+### `$block:block`
120+
121+```hoon
122++$ block [=id =parent=hash]
123+```
124+
125+A reference to an Ethereum block - contains the [$id:block](#idblock) and the [$hash:block](#hashblock) of its parent for ordering purposes.
126+
127+## point
128+
129+Structures for points (Ship IDs in Azimuth).
130+
131+### `$point:point`
132+
133+```hoon
134++$ point
135+ $: =rift
136+ =life
137+ keys=(map life [crypto-suite=@ud =pass])
138+ sponsor=(unit @p)
139+ ==
140+```
141+
142+Public key data for a particular ship. The `rift` is the current continuity breach number and `life` is the current key revision number. The `keys` `map` contains the public key (`pass`) for each `life` up to the current one. The `sponsor` is the current sponsor of the ship in question, if it has one.
143+
144+### `$key-update:point`
145+
146+```hoon
147++$ key-update [=life crypto-suite=@ud =pass]
148+```
149+
150+An update to a ship's keys. The `life` is the key revision number, `crypt-suite` is a version number for the cryptographic suite used for keys in Azimuth, and `pass` is the public key itself.
151+
152+### `$diffs:point`
153+
154+```hoon
155++$ diffs (list diff)
156+```
157+
158+A list of invertible [$diff:point](#diffpoint)s.
159+
160+### `$diff:point`
161+
162+```hoon
163++$ diff
164+ $% [%rift from=rift to=rift]
165+ [%keys from=key-update to=key-update]
166+ [%spon from=(unit @p) to=(unit @p)]
167+ ==
168+```
169+
170+An invertible diff for public key (and related) changes to the state of an Azimuth point (ship ID).
171+
172+- `%rift` is a change to the `rift` (continuity breach number) that occurs when a ship undergoes a continuity breach.
173+- `%keys` is a change to a ship's `life` and public key, specified in the [$key-update:point](#key-updatepoint).
174+- `%spon` is a change to a ship's sponsor.
175+
176+The `from` and `to` field specify the old a new values respectively.
177+
178+### `$udiffs:point`
179+
180+```hoon
181++$ udiffs (list [=ship =udiff])
182+```
183+
184+A list of non-invertible [$udiff:point](#udiffpoint)s.
185+
186+### `$udiff:point`
187+
188+```hoon
189++$ udiff
190+ $: =id:block
191+ $% [%rift =rift]
192+ [%keys key-update]
193+ [%spon sponsor=(unit @p)]
194+ [%disavow ~]
195+ == ==
196+```
197+
198+A non-invertible diff for public key (and related) changes to the state of an Azimuth point (ship ID).
199+
200+The [$id:block](#idblock) contains the block number and block hash of the Ethereum block in which the change occurred. The next part specifies what changed, where:
201+
202+- `%rift` means the ship has undergone a continuity breach and therefore the `rift` (continuity revision number) has changed.
203+- `%keys` means the ship's `life` (key revision number) has changed, the [$key-update:point](#key-updatepoint) contains the new `life` and pubkeys.
204+- `%spon` means the ship's sponsor has changed.
205+- `%disavow` means a previous Ethereum block has been disavowed.
206+
207+A `udiff:point` can be converted to a [$diff:point](#diffpoint) with the `+udiff-to-diff:point` function.
208+
209+## pki
210+
211+This structure is mostly a holdover from prior versions of Jael and is unused apart from [$oath:pki](#oathpki).
212+
213+### `$hand:pki`
214+
215+```hoon
216++$ hand @uvH
217+```
218+
219+128-bit Hash.
220+
221+### `$mind:pki`
222+
223+```hoon
224++$ mind [who=ship lyf=life]
225+```
226+
227+Key identifier.
228+
229+### `$name:pki`
230+
231+```hoon
232++$ name (pair @ta @t)
233+```
234+
235+Name in both ASCII and Unicode.
236+
237+### `$oath:pki`
238+
239+```hoon
240++$ oath @
241+```
242+
243+Signature. This type is used in the [$seed](#seed) for moons as a signature from the moon's parent.
content/docs/arvo/jael/examples.mdnew file+251
@@ -0,0 +1,251 @@
1++++
2+title = "Examples"
3+weight = 5
4+template = "doc.html"
5++++
6+
7+This documents contains practical examples of a number of Jael's `task`s.
8+
9+General documentation of the `task`s demonstrated here can be found in the [API Reference](/docs/arvo/jael/tasks) document, and details of the data types mentioned can be found in the [Data Types](/docs/arvo/jael/data-types) document.
10+
11+## `%private-keys`
12+
13+Here we'll look at subscribing to private key updates from Jael. We'll use a thread to pass Jael a `%private-keys` `task`, take the `%private-keys` `gift` it returns, debug print it to the terminal and finally unsubscribe with a `%nuke` `task`.
14+
15+`sub-priv.hoon`
16+
17+```hoon
18+/- spider
19+/+ strandio
20+=, strand=strand:spider
21+=, card=card:agent:gall
22+^- thread:spider
23+|= arg=vase
24+=/ m (strand ,vase)
25+^- form:m
26+;< ~ bind:m (send-raw-card:strandio %pass /sub-priv %arvo %j %private-keys ~)
27+;< res=[=wire =sign-arvo] bind:m take-sign-arvo:strandio
28+?> ?=([%sub-priv ~] wire.res)
29+?> ?=([%jael *] sign-arvo.res)
30+~& +.sign-arvo.res
31+;< ~ bind:m (send-raw-card:strandio %pass /sub-priv %arvo %j %nuke ~)
32+(pure:m !>(~))
33+```
34+
35+Save the above thread in the `/ted` directory of your `%home` desk and `|commit %home`.
36+
37+Now let's run the thread:
38+
39+```
40+> -sub-priv
41+```
42+
43+You should see the `%private-key` `gift` it returns in the Dojo:
44+
45+```
46+[ %private-keys
47+ life=1
48+ vein
49+ { [ p=1
50+ q
51+ 1.729.646.917.183.337.[...truncated for brevity]
52+ ]
53+ }
54+]
55+```
56+
57+At this point our thread unsubscribes again with a `%nuke` `task` but without that it would send a new `%private-key` `gift` each time the private keys were changed.
58+
59+## `%public-keys` and `%nuke`
60+
61+Here we'll look at both subscribing and unsubscribing to updates of a ship's public keys in Jael. We'll subscribe by sending Jael a `%public-keys` `task`, take the `%public-keys` `gift` it responds with, print it to the terminal, scry for the `set` of `duct`s subscribed to the ship in question, print them to the terminal, and finally send Jael a `%nuke` `task` to unsubscribe.
62+
63+Here's a thread that performs these actions:
64+
65+`sub-pub.hoon`
66+
67+```hoon
68+/- spider
69+/+ strandio
70+=, strand=strand:spider
71+=, card=card:agent:gall
72+=>
73+|%
74++$ subs
75+ $: yen=(jug duct ship)
76+ ney=(jug ship duct)
77+ nel=(set duct)
78+ ==
79+--
80+^- thread:spider
81+|= arg=vase
82+=/ m (strand ,vase)
83+^- form:m
84+=/ =@p (need !<((unit @p) arg))
85+::
86+:: sub to public updates for specified ship
87+=/ c1=card [%pass /sub-pubkeys %arvo %j %public-keys (silt ~[p])]
88+;< ~ bind:m (send-raw-card:strandio c1)
89+::
90+:: take response from jael & print it
91+;< res=[=wire =sign-arvo] bind:m take-sign-arvo:strandio
92+?> ?=([%sub-pubkeys ~] wire.res)
93+?> ?=([%jael %public-keys *] sign-arvo.res)
94+~& +.sign-arvo.res
95+::
96+:: scry for tracking subs for specified ship in jael & print
97+;< =subs bind:m (scry:strandio ,subs /j/subscriptions/1)
98+=/ ducts=(set duct) (~(get ju ney.subs) p)
99+~& ducts
100+::
101+:: unsub from public updates for specified ships
102+=/ c2=card [%pass /sub-pubkeys %arvo %j %nuke (silt ~[p])]
103+;< ~ bind:m (send-raw-card:strandio c2)
104+(pure:m !>(~))
105+```
106+
107+Note this example was performed on a comet as a fake ship won't have the required information in Jael.
108+
109+Save the above thread in the `/ted` directory and `|commit %home`. The thread takes a `ship` as an argument, so we'll try to subscribe to pubkey updates for `~dopzod`. Let's run the thread:
110+
111+```
112+> -sub-pub ~dopzod
113+```
114+
115+It first passes a `%public-keys` `task` to Jael that looks like `[%public-keys (silt ~[~dopzod])]` in order to subscribe. Jael will immediately respond with a `%public-keys` `gift` that contains a `%full` [$public-keys-result](/docs/arvo/jael/data-types#public-keys-result). The `(map ship point)` contained will (for each ship specified in the `task`) include the current pubkeys for the ship's current life as well as previous keys for previous `life`s. It thus contains a complete record of keys up to the present for each ship. Our thread will print these out to the terminal like so:
116+
117+```
118+[ %public-keys
119+ public-keys-result
120+ [ %full
121+ points
122+ { [ p=~dopzod
123+ q
124+ [ rift=2
125+ life=3
126+ keys
127+ { [ p=1
128+ q
129+ [ crypto-suite=1
130+ pass
131+ 939.529.329.928[...truncated for brevity...]
132+ ]
133+ ]
134+ [ p=2
135+ q
136+ [ crypto-suite=1
137+ pass
138+ 2.215.774.809.906.200.376.0[...truncated for brevity...]
139+ ]
140+ ]
141+ [ p=3
142+ q
143+ [ crypto-suite=1
144+ pass
145+ 707.070.568.606.374.[...truncated for brevity...]
146+ ]
147+ ]
148+ }
149+ sponsor=~
150+ ]
151+ ]
152+ }
153+ ]
154+]
155+```
156+
157+Along with giving us the current information, Jael will also subscribe us to any future updates for the ships in question. Such updates will come as additional `%public-keys` `gift`s, but rather than a `%full` `public-keys-result`, they'll instead contain either a `%diff` or `%breach` `public-keys-result`, depending on what's happened to the ship in question. It's difficult to simulate such events for demonstrative purposes so an example is not included, but you can look at the [$public-keys-result](/docs/arvo/jael/data-types#public-keys-result) to get an idea.
158+
159+Jael maintains a `(jug duct ship)` and its reverse `(jug ship duct)` in its state to track subscriptions. If we do a [subscriptions](/docs/arvo/jael/scry#subscriptions) scry and filter the result for `~dopzod`, we can see the duct of our thread has now been added to the `~dopzod` `set`. Our thread does this, and will output something like:
160+
161+```
162+{~[/gall/use/spider/0w1.vGVi-/~sampel-palnet/thread/~.dojo_0v6.0hlak.dam1b.bcdou.ai7gq.19fi8/sub-pubkeys /dill //term/1]}
163+```
164+
165+At this point our thread will send a `%nuke` `task` like `[%nuke (silt ~[~dopzod])]` to cancel our subscription. Jael doesn't respond to it, but now, with our thread having finished and exited, we can again scry & filter for subscriptions to `~dopzod`:
166+
167+```
168+> =/(a .^([yen=(jug duct ship) ney=(jug ship duct) nel=(set duct)] %j /=subscriptions=/1) (~(get ju ney.a) ~dopzod))
169+~
170+```
171+
172+As you can see the `set` is now empty, so we know the `%nuke` succeeded and Jael will no longer send us pubkey updates for `~dopzod`. One thing to note about `%nuke` is that it _must_ come from the same `duct` as the original subscription. You can't unsubscribe another app, ship, thread or what have you, so if we'd tried `%nuke`ing the subscription from a separate thread it wouldn't have worked.
173+
174+## `%turf`
175+
176+Here we'll look at using a `%turf` `task` to get Jael's list of domains. Note on a fake ship the list will be empty, so you may with to run it on a comet or moon.
177+
178+Here's a simple thread that'll pass Jael a `%turf` `task`, take the `%turf` `gift` it sends back and print it to the terminal:
179+
180+`turf.hoon`
181+
182+```hoon
183+/- spider
184+/+ strandio
185+=, strand=strand:spider
186+^- thread:spider
187+|= arg=vase
188+=/ m (strand ,vase)
189+^- form:m
190+=/ =task:jael [%turf ~]
191+=/ =card:agent:gall [%pass /get-domains %arvo %j task]
192+;< ~ bind:m (send-raw-card:strandio card)
193+;< resp=[=wire =sign-arvo] bind:m take-sign-arvo:strandio
194+?> ?=([%get-domains ~] wire.resp)
195+?> ?=([%jael %turf *] sign-arvo.resp)
196+~& +.sign-arvo.resp
197+(pure:m !>(~))
198+```
199+
200+Save in in the `/ted` directory of your ship and `|commit %home`. Next, let's try running it:
201+
202+```
203+> -turf
204+[%turf turf=~[<|org urbit|>]]
205+```
206+
207+As you see, the `%turf` `gift` contains `urbit.org` as `~['org' 'urbit']`.
208+
209+## `%step`
210+
211+Here we'll look at changing the web login code with a `%step` task.
212+
213+First, let's see the current `step` with a `%step` scry:
214+
215+```
216+> .^(@ud %j /=step=/(scot %p our))
217+0
218+```
219+
220+...and the current code with the `+code` generator:
221+
222+```
223+> +code
224+lidlut-tabwed-pillex-ridrup
225+```
226+
227+Now, let's pass Jael a `%step` task by using `|pass` in the dojo:
228+
229+```
230+> |pass [%j %step ~]
231+```
232+
233+Jael will `pass` Eyre a `%code-changed` `task:eyre` to let Eyre know the code's changed so you'll see a message from Eyre in the terminal:
234+
235+```
236+eyre: code-changed: throwing away cookies and sessions
237+```
238+
239+Now let's again scry for the `step` and see that it's been incremented:
240+
241+```
242+> .^(@ud %j /=step=/(scot %p our))
243+1
244+```
245+
246+And finally, let's again run `+code` and see there's now a new web login code:
247+
248+```
249+> +code
250+raldev-topnul-mirnut-lablut
251+```
content/docs/arvo/jael/jael-api.mddeleted−393
@@ -1,393 +0,0 @@
1−+++
2−title = "API Reference"
3−weight = 10
4−template = "doc.html"
5−+++
6−
7−In this document we describe the public interface for Jael. Namely, we describe
8−each `task` that Jael can be `%pass`ed, and which `gift`(s) Jael can `%give` in return.
9−
10−
11−## Tasks
12−
13−### `%dawn`
14−
15−This `task` is called once per ship during the vane initialization
16−phase immediately following the beginning of the [adult
17−stage](/docs/arvo/overview#structural-interface-core). This `task` is `%pass`ed to Jael by Dill, as Dill is the first vane to be loaded for
18−technical reasons, though we consider Jael to be the true "first" vane. This
19−`task` is only used for ships that will join the Ames network - fake ships (i.e.
20−made with `./urbit -F zod`) use the `%fake` `task` instead.
21−
22−`%dawn` is used to perform a sequence of initialization tasks related to saving
23−information about Azimuth and the Ames network and booting other vanes for the first time. Upon
24−receipt of a `%dawn` `task`, Jael will:
25− - record the Ethereum block the public key is registered to,
26− - record the URL of the Ethereum node used,
27− - save the signature of the parent planet (if the ship is a moon),
28− - load the initial public and private keys for the ship,
29− - set the DNS suffix(es) used by the network (currently just `arvo.network`),
30− - save the public keys of all galaxies,
31− - set Jael to subscribe to `%azimuth-tracker`,
32− - `%slip` a `%init` `task` to Ames, Clay, Gall, Dill, and Eyre, and `%give` an `%init`
33−`gift` to Arvo, which then informs Unix that the initialization process has concluded.
34−
35−#### Accepts
36−
37−`%dawn` accepts a `dawn-event`:
38−
39−```hoon
40− +$ dawn-event
41− $: =seed
42− spon=(list [=ship point:azimuth-types])
43− czar=(map ship [=rift =life =pass])
44− turf=(list turf)
45− bloq=@ud
46− node=(unit purl:eyre)
47− ==
48−```
49−
50−The `seed` is `[who=ship lyf=life key=ring sig=(unit oath:pki)]`. `who` is the
51−`@p` of the ship running the `task`, `lyf` is the current ship key revision,
52−`key` is the ship's private key, and `sig` is the signature of the ship's parent
53−planet if the ship is moon and `[~]` otherwise.
54−
55−`spon` is a `list` of ships and their `point`s in the ship's sponsorship chain,
56−all the way to the galaxy level. `point:azimuth-types` contains all Azimuth
57−related data and can be found in `zuse.hoon`.
58−
59−`czar` is a map from each galaxy's `@p` to its `rift`, `life`, and public key (`pass`).
60−
61−`turf` is a `list` of DNS suffixes used by the Ames network, which for now is
62−just `arvo.network`.
63−
64−`bloq` is the number of the Ethereum block in which the ship registered its keys
65−with the Azimuth smart contract.
66−
67−`node` is the URL of the Ethereum node used to register the ship's keys with Azimuth.
68−
69−#### Returns
70−
71−Jael `%give`s an `%init` `gift` to Unix. This occurs after the Dill `%slip`
72−init.
73−
74−#### Slips
75−
76−Jael `%slip`s `%init` `task`s to each of Eyre, Dill, Gall, Clay, and Ames, in
77−that order.
78−
79−
80−### `%fake`
81−
82−This `task` is used instead of `%dawn` when creating a fake ship via the `-F`
83−flag when calling the Urbit binary. It performs a subset of the actions that
84−`%dawn` performs, modified to accommodate the fake ship.
85−
86−`%fake` endows the ship with a private key and a public key deterministically derived from the
87−ship's `@p`. It sets `fak.own.pki` to `%.y`, which is the bit that determines
88−whether or not a ship is fake. Other parts of the Jael state, such as the
89−sponsorship chain and galaxy public keys are left at their bunted values.
90−
91−#### Accepts
92−
93−```hoon
94−[=ship]
95−```
96−`ship` is the `@p` of the fake ship being created.
97−
98−#### Returns
99−
100−Jael `%give`s a `%init` `gift` to Unix.
101−
102−#### Slips
103−
104−In response to a `%fake` `task`, Jael `%slip`s a `%init` `task` to each of Eyre, Dill, Gall,
105−Clay, and Ames, in that order.
106−
107−
108−### `%listen`
109−
110−Sets the source that the public keys for a set of `ship`s should be obtained
111−from. This can either be a Gall app that communicates with an Ethereum node such
112−as `%azimuth-tracker`, as in the case for galaxies, stars,
113−and planets, or a ship, as in the case of a moon or comet.
114−
115−After setting the source, Jael will then subscribe to the source for updates on
116−public keys for the given ships.
117−
118−
119−#### Accepts
120−
121−```hoon
122−[whos=(set ship) =source]
123−```
124−
125−`whos` is the set of ships whose key data source is to be altered. `source` is
126−`(each ship term)`, where `term` will ultimately be treated as a handle for a
127−Gall app.
128−
129−A `%listen` `task` with empty `whos` will set the default source to `source`.
130−This is the source used for all ships unless otherwise specified.
131−
132−When the `source` is a `term`, Jael looks into its state to find what source has
133−been previously assigned to that `term` and will henceforth obtain public keys for
134−ships in `(set ship)` from there. In practice, this is always
135−`%azimuth-tracker`, but the ability to use other sources is present.
136−
137−When the `source` is a ship, Jael will obtain public keys for ships in `(set ship)` from
138−the given ship. By default, the `source` for a moon will be the planet that
139−spawned that moon, and the `source` for a comet will be the comet itself.
140−
141−#### Returns
142−
143−This `task` returns no `gift`s.
144−
145−#### Passes
146−
147−If the `source` is a `term`, Jael will `%pass` a `%deal` `task` to Gall asking to
148−`%watch` the app given by `source` at path `/`.
149−
150−If the `source` is a `ship`, Jael will `%pass` a `%plea` `task` to Ames wrapping
151−a `%public-keys` `task` intended for Jael on the `ship` specified by `source`.
152−
153−
154−### `%meet`
155−
156−This `task` is deprecated and does not perform any actions.
157−
158−#### Accepts
159−
160−```hoon
161−[=ship =life =pass]
162−```
163−
164−#### Returns
165−
166−This `task` returns no `gift`s.
167−
168−
169−### `%moon`
170−
171−This `task` sets the public keys of a moon.
172−
173−#### Accepts
174−
175−```hoon
176−[=ship =udiff:point]
177−```
178−
179−The `ship` is the `@p` of the moon. The `task` will be a no-op if the `@p` is not that
180−of a moon, or if the moon does not belong to the ship.
181−
182−`udiff:point` contains the new public keys to be stored for the moon.
183−
184−#### Returns
185−
186−This `task` returns no `gift`s.
187−
188−
189−### `%nuke`
190−
191−This `task` cancels subscriptions to Jael's state from a given set of `ship`s.
192−This `task` works differently depending on whether the `task` originated locally
193−or remotely.
194−
195−#### Accepts
196−
197−```hoon
198−[whos=(set ship)]
199−```
200−`whos` is the `set` of `ship`s from which subscriptions are to be canceled.
201−
202−#### Returns
203−
204−This `task` returns no `gift`s.
205−
206−
207−### `%plea`
208−
209−This `task` is `%pass`ed to Jael from Ames. `%plea`s are wrappers for `task`s
210−that originate from a remote source, as the `%plea` pattern
211−is used to extend the `%pass`/`%give` semantics over the Ames network. Jael
212−attempts to perform the `task` wrapped in the `%plea`.
213−
214−Jael accepts two kinds of `%plea`s: [`%nuke`](#nuke) and
215−[`%public-keys`](#public-keys) and will crash if passed anything else. See the
216−relevant entries to learn how Jael responds to these.
217−
218−#### Accepts
219−
220−```hoon
221−[=ship =plea:ames]
222−```
223−`ship` is the origin of the plea, and `plea:ames` is `[vane=@tas =path
224−payload=*]`. Here, `vane=%j`, `path` is the internal route on the receiving ship, and `payload` is either a `%nuke` or
225−a `%public-keys` `task`.
226−
227−#### Returns
228−
229−Jael `%give`s a `%done` `gift` in response to a `%plea` `task`.
230−
231−#### Passes
232−
233−Jael `%pass`es itself the wrapped `task`.
234−
235−
236−### `%private-keys`
237−
238−This `task` creates a subscription to the private keys kept by Jael.
239−
240−We note that there are two `+private-keys` arms in Jael - one located in the
241−`+feed` core and the other located in the `+feel` core. This `task` calls the
242−arm in the `+feed` core.
243−
244−#### Accepts
245−
246−```hoon
247−[~]
248−```
249−
250−#### Returns
251−
252−```hoon
253−[%private-keys =life vein=(map life ring)]
254−```
255−
256−In response to a `%private-keys` `task`, Jael `%give`s a `%private-keys` `gift`.
257−`life=@ud` is the current `life` of the ship, and `vein` is a `map` from
258−`life`s to `ring`s that keeps track of all `life`-`ring` pairs throughout the
259−history of the ship.
260−
261−
262−### `%public-keys`
263−
264−This `task` creates a subscription for the callee to a selection of the public
265−keys kept by Jael. This `task` can originate locally or remotely.
266−
267−#### Accepts
268−
269−```hoon
270−[ships=(set ship)]
271−```
272−`ships` is the `set` of `ship`s whos' public keys are being subscribed to.
273−
274−#### Returns
275−
276−```hoon
277−[%public-keys =public-keys-result]
278−```
279−If the `task` originated locally, Jael `%give`s a `%public-keys` `gift` in
280−response. If it originated remotely, Jael `%give`s a `%boon` `gift` to back
281−to Ames wrapping a `%public-keys` `gift`.
282−
283−A `$public-keys-result` is the following.
284−```hoon
285− +$ public-keys-result
286− $% [%full points=(map ship point)]
287− [%diff who=ship =diff:point]
288− [%breach who=ship]
289−```
290−The first time Jael receives a `%public-keys` `task` from a ship it will return
291−a `[%public-keys-result %full]` `gift`, which contains all information about ships and
292−their associated points that Jael knows. Subsequent updates will typically be
293−`[%public-keys-result %diff]`, which tells the caller what has changed
294−since last time they sent a `%public-keys` `task`, and `[%public-keys-result
295−%breach]`, which informs the caller of ship breaches.
296−
297−
298−### `%rekey`
299−
300−This `task` updates the ship's private keys.
301−
302−#### Accepts
303−
304−```hoon
305−[=life =ring]
306−```
307−
308−`life` is a `@ud` that is the new ship key revision number. `ring` is a `@` that is the new private key.
309−
310−#### Returns
311−
312−```hoon
313−[%private-keys =life vein=(map life ring)]
314−```
315−
316−In response to a `%rekey` `task`, Jael `%give`s a `%private-keys` `gift`. `life`
317−is the new `life` given in the original `task`, and `vein` is a `map` from
318−`life`s to `ring`s that keeps track of all `life`-`ring` pairs throughout the
319−history of the ship.
320−
321−
322−### `%trim`
323−
324−This `task` is sent by the interpreter in order to free up memory.
325− This `task` is empty for Jael, since it is not a good idea to forget your
326− private keys and other cryptographic data.
327−
328−#### Accepts
329−
330−```hoon
331−[p=@ud]
332−```
333−This argument is unused by Jael.
334−
335−#### Returns
336−
337−This task returns nothing.
338−
339−
340−
341−### `%turf`
342−
343−This `task` is a request for Jael to provide its list of `turf`s, e.g. DNS
344−suffixes for the Ames network. Currently `arvo.network` is the only `turf` in use.
345−
346−#### Accepts
347−
348−```hoon
349−[~]
350−```
351−
352−#### Returns
353−
354−```hoon
355−[%turn tuf.own.pki]
356−```
357−
358−Jael `%give`s a `%turf` `gift` in response to a `%turf` `task`. `tuf.own.pki` is
359−a `(list turf)`, which is Jael's list of `turf`s.
360−
361−
362−### `%vega`
363−
364−`%vega` is called whenever the kernel is updated. Jael currently does not do
365−anything in response to this.
366−
367−#### Accepts
368−
369−`%vega` takes no arguments.
370−
371−#### Returns
372−
373−This `task` returns no `gift`s.
374−
375−
376−
377−### `%wegh`
378−
379−This `task` is a request to Jael to produce a memory usage report.
380−
381−#### Accepts
382−
383−This `task` has no arguments.
384−
385−#### Returns
386−
387−In response to this `task,` Jael `%give`s a `%mass` `gift` containing Ames'
388−current memory usage.
389−
390−
391−
392−
393−
content/docs/arvo/jael/jael.mdnew file+25
@@ -0,0 +1,25 @@
1++++
2+title = "Overview"
3+weight = 1
4+template = "doc.html"
5++++
6+
7+Jael is the networking key infrastructure vane.
8+
9+The main purpose of Jael is keeping track of [Azimuth](/docs/azimuth/azimuth) related information. For each ship, this consists of its public keys, its key revision number (or `life`), its continuity breach number (or `rift`) (see [Life and Rift](/docs/azimuth/life-and-rift)), and who the sponsor of the ship is. It also handles the local ship's private keys, keeps track of galaxy domain prefixes, and performs some boot-related tasks.
10+
11+By default, Jael's primary source of information is the Gall agent `%azimuth-tracker`, which (using `%eth-watcher`) runs a thread that polls an Ethereum node for transactions in the Azimuth contract. It can also get updates from other ships on the network. This is always the case for moons, where it subscribes to the moon's parent's Jael for updates.
12+
13+The database of PKI information that Jael maintains is used by other vanes and agents for identity validation, encryption, decryption, and other cryptographic functions. In particular, Ames (the network vane) uses the information stored in Jael to encrypt packets it sends to other ships, and to decrypt & validate packets it receives from other ships.
14+
15+Jael has a few `task`s you can use to interact with it. In particular, its [%public-keys task](/docs/arvo/jael/tasks#public-keys) allows an agent or thread to subscribe for PKI updates for a `set` of `ship`s.
16+
17+## Sections
18+
19+[API Reference](/docs/arvo/jael/tasks) - The `task`s Jael takes and the `gift`s it returns.
20+
21+[Scry Reference](/docs/arvo/jael/scry) - The scry endpoints of Jael.
22+
23+[Data Types](/docs/arvo/jael/data-types) - Reference documentation of the various data types used by Jael.
24+
25+[Examples](/docs/arvo/jael/examples) - Practical examples of using Jael's `task`s.
content/docs/arvo/jael/scry.mdnew file+204
@@ -0,0 +1,204 @@
1++++
2+title = "Scry Reference"
3+weight = 3
4+template = "doc.html"
5++++
6+
7+Jael's scry endpoints never take a `care`. The particular endpoints are specified in the place of the desk in the path prefix, then additional arguments are specified in the path. Note this style of scry path is considered outdated, and may be changed in the future.
8+
9+## `%step`
10+
11+A `%step` scry gets the current web login code revision number. It takes your ship name as its `path` and the type returned is a `@ud`.
12+
13+### Example
14+
15+```
16+> .^(@ud %j /=step=/(scot %p our))
17+0
18+```
19+
20+## `%code`
21+
22+A `%code` scry gets the current web login code. It takes your ship name as its `path` and the type returned is a `@p`.
23+
24+### Example
25+
26+```
27+> .^(@p %j /=code=/(scot %p our))
28+~lidlut-tabwed-pillex-ridrup
29+```
30+
31+## `%life`
32+
33+A `%life` scry gets the current `life` (key revision number) of a ship if known, otherwise it crashes. It takes a ship as its `path` and the type returned is a `@ud`.
34+
35+### Example
36+
37+```
38+> .^(@ud %j /=life=/(scot %p our))
39+1
40+```
41+
42+## `%lyfe`
43+
44+A `%lyfe` scry gets the current unitized `life` (key revision number) of a ship if known, otherwise returns `~`. It takes a ship as its `path` and the type returned is a `(unit @ud)`.
45+
46+### Example
47+
48+```
49+> .^((unit @ud) %j /=lyfe=/(scot %p our))
50+[~ 1]
51+```
52+
53+## `%rift`
54+
55+A `%rift` scry gets the current `rift` (continuity number) of a ship if known, otherwise it crashes. It takes a ship as its `path` and the type returned is a `@ud`.
56+
57+### Example
58+
59+```
60+.^(@ud %j /=rift=/(scot %p our))
61+1
62+```
63+
64+## `%ryft`
65+
66+A `%ryft` scry gets the current unitized `rift` (continuity number) of a ship if known, otherwise it returns `~`. It takes a ship as its `path` and the type returned is a `(unit @ud)`.
67+
68+### Example
69+
70+```
71+> .^((unit @ud) %j /=ryft=/(scot %p our))
72+[~ 1]
73+```
74+
75+## `%vein`
76+
77+A `%vein` scry gets your ship's private key for the specified `life`. It takes a `life` `@ud` as its `path` and the type returned is a `ring`.
78+
79+### Example
80+
81+```
82+> .^(@uw %j /=vein=/1)
83+0w84.0MwlQ.y2Ly9.6HVmH.8SYwo.EvuLC.f5YRw.T2NzD.EHtjZ.gpHZb.J0Pu5.aTGVL.UugSA.EZ~E9.~PODC.cohVD.B1zWj.ZWnJ2
84+```
85+
86+## `%vile`
87+
88+A `%vile` scry gets your `jam`mmed private boot parameters at your ship's current `life`. It takes no additional arguments in its `path`. The type returned is a `@` which is a `jam`med [$seed](/docs/arvo/jael/data-types#seed).
89+
90+### Examples
91+
92+```
93+> .^(@ %j /=vile=)
94+73.825.716.773.695.891.582.219.653.213.376.682.408.892.852.624.025.387.720.465.884.094.267.975.202.807.896.467.150.282.384.122.104.470.678.155.055.914.950.319.747.613.107.324.566.157.366.237.078.063.363.527.599.682.750.233
95+```
96+
97+```
98+> ;;(seed:jael (cue .^(@ %j /=vile=)))
99+[ who=~zod
100+ lyf=1
101+ key
102+ 1.729.646.917.183.337.262.068.568.133.450.460.269.618.308.934.734.494.661.340.450.478.360.301.077.532.415.587.141.242.844.893.269.500.211.196.916.184.768.225.437.577.083.064.475.012.067.992.317.942.521.494.338
103+ sig=~
104+]
105+```
106+
107+## `%deed`
108+
109+A `%deed` scry gets the `life`, pubkey and maybe a signature if the ship in question is a comet. It takes the target ship and life as its `path` like `/~sampel-palnet/1` and the type returned is a `[life pass (unit @ux)]`.
110+
111+### Example
112+
113+```
114+> .^([life pass (unit @ux)] %j /=deed=/(scot %p our)/1)
115+[ 1
116+ 2.649.818.598.466.464.524.534.996.841.661.372.043.001.125.438.577.869.575.450.096.229.472.239.369.342.882.589.479.483.389.735.480.760.982.635.242.955.515.616.049.650.771.700.602.823.946.406.713.457.849.302.626
117+ ~
118+]
119+```
120+
121+## `%earl`
122+
123+A `%earl` scry deterministically derives a private key for a moon. Note this is a holdover from an old version of moon infrastructure, the current `|moon` generator doesn't use this and instead generates moon private keys non-deterministically. It takes the moon name and your ship's current `life` (not the moon's `life`) as its `path` like `/~doznec-dozzod-dozzod-dozzod/1`. The type returned is a [$seed](/docs/arvo/jael/data-types#seed), the `life` of the moon in the `lyf` field of the `seed` will always be `1`.
124+
125+### Example
126+
127+```
128+> .^(seed:jael %j /=earl=/~doznec-dozzod-dozzod-dozzod/1)
129+[ who=~doznec-dozzod-dozzod-dozzod
130+ lyf=1
131+ key
132+ 1.055.418.877.440.612.330.077.014.834.463.499.863.663.523.990.336.436.220.536.921.445.512.367.957.276.250.223.724.881.932.188.751.226.308.505.496.234.256.625.462.295.144.257.529.749.880.805.247.600.674.018.370
133+ sig=~
134+]
135+```
136+
137+## `%sein`
138+
139+A `%sein` scry gets the sponsor for the specified ship. This scry is used implicitly by `sein:title`. It takes the target ship as its `path` and the type returned is a `@p`.
140+
141+### Example
142+
143+```
144+> .^(@p %j /=sein=/~sampel-palnet)
145+~talpur
146+```
147+
148+## `%saxo`
149+
150+A `%saxo` scry gets the sponsorship chain for the target ship (including the target ship itself). For example, a `%saxo` scry for a planet will return the planet, its star and the star's galaxy. This scry is used implicitly by `saxo:title`. It takes the target ship as its `path` and the type returned is a `(list @p)`.
151+
152+### Example
153+
154+```
155+> .^((list @p) %j /=saxo=/~sampel-palnet)
156+~[~sampel-palnet ~talpur ~pur]
157+```
158+
159+## `%subscriptions`
160+
161+A `%subscriptions` scry gets the current state of subscriptions to public key updates (typically initiated with a [%public-keys task](/docs/arvo/jael/tasks#public-keys)). It takes a `life` as its `path` and returns a triple consisting of the following:
162+
163+```hoon
164+yen=(jug duct ship) :: trackers
165+ney=(jug ship duct) :: reverse trackers
166+nel=(set duct) :: trackers of all
167+```
168+
169+The `yen` `jug` maps subscribed `duct`s to the `ship`s they're tracking, and `ney` is just the inverse, mapping tracked `ship`s to subscribed `duct`s. The `nel` set contains `duct`s track all public key updates.
170+
171+### Example
172+
173+```
174+.^([yen=(jug duct ship) ney=(jug ship duct) nel=(set duct)] %j /=subscriptions=/1)
175+[yen={} ney={} nel={}]
176+```
177+
178+## `%sources`
179+
180+A `%sources` scry gets the current state of Jael's sources for PKI updates. It takes no additional arguments in its `path` and returns a [$state-eth-node](/docs/arvo/jael/data-types#state-eth-node).
181+
182+### Example
183+
184+```
185+> .^(state-eth-node:jael %j /=sources=)
186+[ top-source-id=0
187+ sources={}
188+ sources-reverse={}
189+ default-source=0
190+ ship-sources={}
191+ ship-sources-reverse={}
192+]
193+```
194+
195+## `%turf`
196+
197+A `%turf` scry gets the list of domain prefixes for galaxies. It takes no additional arguments in its `path`. It returns a `(list turf)`, where a `turf` is a TLD-first `(list @t)`, so `urbit.org` as a `turf` is `~['org' 'urbit']`.
198+
199+### Example
200+
201+```
202+> .^((list turf) %j /=turf=)
203+~[<|org urbit|>]
204+```
content/docs/arvo/jael/tasks.mdnew file+225
@@ -0,0 +1,225 @@
1++++
2+title = "API Reference"
3+weight = 2
4+template = "doc.html"
5++++
6+
7+This document details all the `task`s you may wish to send Jael, as well as the `gift`s you'll receive in response.
8+
9+You may also wish to reference the [Data Types](/docs/arvo/jael/data-types) document for details of the types referenced here, and the [Examples](/docs/arvo/jael/examples) document for practical examples of using these `task`s.
10+
11+## `%dawn`
12+
13+```hoon
14+[%dawn dawn-event]
15+```
16+
17+Boot from keys.
18+
19+This `task` is called once per ship during the vane initialization phase immediately following the beginning of the [adult stage](/docs/arvo/overview#structural-interface-core). This `task` is `%pass`ed to Jael by Dill, as Dill is the first vane to be loaded for technical reasons, though we consider Jael to be the true "first" vane. This `task` is only used for ships that will join the Ames network - fake ships (i.e. made with `./urbit -F zod`) use the [%fake](#fake) `task` instead.
20+
21+`%dawn` is used to perform a sequence of initialization tasks related to saving information about Azimuth and the Ames network and booting other vanes for the first time. Upon receipt of a `%dawn` `task`, Jael will:
22+
23+- record the Ethereum block the public key is registered to,
24+- record the URL of the Ethereum node used,
25+- save the signature of the parent planet (if the ship is a moon),
26+- load the initial public and private keys for the ship,
27+- set the DNS suffix(es) used by the network (currently just `urbit.org`),
28+- save the public keys of all galaxies,
29+- set Jael to subscribe to `%azimuth-tracker`,
30+- `%slip` a `%init` `task` to Ames, Clay, Gall, Dill, and Eyre, and `%give` an `%init`
31+ `gift` to Arvo, which then informs Unix that the initialization process has concluded.
32+
33+This `task` takes a [$dawn-event](/docs/arvo/jael/data-types#dawn-event) as its argument.
34+
35+You would not use this `task` manually.
36+
37+### Returns
38+
39+Jael `%give`s an `%init` `gift` to Unix. This occurs after the Dill `%slip` init.
40+
41+## `%fake`
42+
43+```hoon
44+[%fake =ship]
45+```
46+
47+Boot fake ship.
48+
49+This `task` is used instead of [%dawn](#dawn) when creating a fake ship via the `-F` flag when calling the Urbit binary. It performs a subset of the actions that `%dawn` performs, modified to accommodate the fake ship.
50+
51+`%fake` endows the ship with a private key and a public key deterministically derived from the ship's `@p`. It sets `fak.own.pki` to `%.y`, which is the bit that determines whether or not a ship is fake. Other parts of the Jael state, such as the sponsorship chain and galaxy public keys are left at their bunted values.
52+
53+The `ship` field specifies the `@p` of the fake ship being created.
54+
55+You would not use this `task` manually.
56+
57+### Returns
58+
59+Jael `%give`s a `%init` `gift` to Unix.
60+
61+## `%listen`
62+
63+```hoon
64+[%listen whos=(set ship) =source]
65+```
66+
67+Set Ethereum source.
68+
69+Sets the source that the public keys for a set of `ship`s should be obtained from. This can either be a Gall app that communicates with an Ethereum node such as `%azimuth-tracker`, as in the case of galaxies, stars, and planets, or a ship, as in the case of moons.
70+
71+`whos` is the set of ships whose key data source is to be monitored. The [$source](/docs/arvo/jael/data-types#source) is either a ship or the name of a Gall app to use as a source. A `%listen` `task` with empty `whos` will set the default source. When the `source` is a ship, Jael will obtain public keys for ships in `(set ship)` from the given ship. By default, the `source` for a moon will be the planet that spawned that moon.
72+
73+You are unlikely to use this `task` manually.
74+
75+### Returns
76+
77+Jael will not return any `gift`s in response to a `%listen` `task`.
78+
79+## `%meet`
80+
81+```hoon
82+[%meet =ship =life =pass]
83+```
84+
85+This `task` is deprecated and does not perform any actions.
86+
87+## `%moon`
88+
89+```hoon
90+[%moon =ship =udiff:point]
91+```
92+
93+Register moon keys or otherwise administer a moon.
94+
95+This is what is sent to Jael by `%hood` behind the scenes when you run `|moon`, `|moon-breach` or `|moon-cycle-keys`. The `ship` field is the moon's `@p`. The [$udiff:point](/docs/arvo/jael/data-types#udiffpoint) will contain the bunt of an [$id:block](/docs/arvo/jael/data-types#idblock) (since moons aren't registered in Azimuth) and one of the `udiff` actions depending on what you want to do.
96+
97+### Returns
98+
99+Jael does not return any `gift`s in response to a `%moon` `task`.
100+
101+## `%nuke`
102+
103+```hoon
104+[%nuke whos=(set ship)]
105+```
106+
107+Cancel subscription to public or private key updates.
108+
109+If you've subscribed to public or private key updates from Jael with a [%private-keys](#private-keys) or [%public-keys](#public-keys) `task`, you can unsubscribe and stop receiving updates with a `%nuke` `task`. The `(set ship)` is the `set` of `ship`s which you want to stop tracking. Jael organises subscriptions based on `duct`s, and will determine which subscription to cancel implicitly based on the `duct` the `%nuke` `task` came from. This means a `%nuke` `task` only works from the same thread or agent and on the same `path` as the original subscription request.
110+
111+To cancel a subscription to the ship's private keys you must leave `whos` empty like `[%nuke ~]`.
112+
113+### Returns
114+
115+Jael does not return a `gift` in response to a `%nuke` `task`.
116+
117+### Examples
118+
119+See the [%public-keys and %nuke](/docs/arvo/jael/examples#public-keys-and-nuke) section of the Examples document for an example of using `%nuke` to cancel a `%public-keys` subscription. See the thread in the [%private-keys](/docs/arvo/jael/examples#private-keys) example for cancelling a `%private-keys` subscription.
120+
121+## `%private-keys`
122+
123+```hoon
124+[%private-keys ~]
125+```
126+
127+Subscribe to private key updates.
128+
129+Subscribe to be notified of private key updates for the local ship. The subscription will continue until Jael receives a [%nuke](#nuke) `task` to cancel it.
130+
131+### Returns
132+
133+Jael responds to a `%private-keys` `task` with a `%private-keys` `gift` which looks like:
134+
135+```hoon
136+[%private-keys =life vein=(map life ring)]
137+```
138+
139+The `life` is the current life of the ship and the `vein` `map` contains the private key for each life up to (and including) the current one. Upon first subscribing, Jael will immediately respond with a `%private-keys` `gift`. Then, whenever the ship's private keys are changed, it'll send a new and updated `%private-keys` `gift`.
140+
141+### Example
142+
143+See the [%private-keys](/docs/arvo/jael/examples#private-keys) section of the Examples document for a practical example.
144+
145+## `%public-keys`
146+
147+```hoon
148+[%public-keys ships=(set ship)]
149+```
150+
151+Subscribe to public key (and related) updates from Jael.
152+
153+An agent or thread can subscribe to be notified of public key updates, sponsorship changes and continuity breaches for the `set` of `ship`s specified in the `ships` field. The subscription will continue until Jael receives a [%nuke](#nuke) `task` to cancel it.
154+
155+### Returns
156+
157+Jael responds to a `%public-keys` `task` with `%public-keys` `gift`s which look like:
158+
159+```hoon
160+[%public-keys =public-keys-result]
161+```
162+
163+The [$public-keys-result](/docs/arvo/jael/data-types#public-keys-result) contains whatever changes have occurred.
164+
165+Upon subscription, Jael will immeditely respond with a `%public-keys` `gift` containing a `%full` `public-keys-result` with the public key for each `life` up until the current one for each `ship` specified in the original `task`. After than, Jael will send a `%public-keys` `gift` with either a `%diff` or `%breach` `public-keys-result` each time a change occurs for any of the `ship`s to which you're subscribed.
166+
167+### Example
168+
169+See the [%public-keys and %nuke](/docs/arvo/jael/examples#public-keys-and-nuke) section of the Examples document for a practical example.
170+
171+## `%rekey`
172+
173+```hoon
174+[%rekey =life =ring]
175+```
176+
177+Update private keys.
178+
179+This is what is sent to Jael by `%hood` when you run `|rekey`, as you must after setting new Azimuth keys or running `|cycle-moon-keys` on a moon's parent. It will update your `life` (key revision number) and private keys. The `life` field is the new `life` (typically an increment of the current `life`) and the `ring` is a private key `@`.
180+
181+### Returns
182+
183+Jael does not return any `gift` in response to a `%rekey` `task`.
184+
185+## `%turf`
186+
187+```hoon
188+[%turf ~]
189+```
190+
191+View domains.
192+
193+The domains returned by a `%turf` `task` are used as the base for individual galaxy domain names (e.g. from `urbit.org` you get `zod.urbit.org`, `bus.urbit.org`, etc). Jael gets these from Azimuth, then Ames gets them from Jael and passes them to the runtime, which will perform the DNS lookups and give Ames back the galaxy IP addresses. A `%turf` task takes no additional arguments. You're unlikely to use this manually - if you want the current `turf`s you'd likely want to do a [turf scry](/docs/arvo/jael/scry#turf) instead.
194+
195+### Returns
196+
197+Jael will respond to a `%turf` `task` with a `%turf` `gift`, which looks like:
198+
199+```hoon
200+[%turf turf=(list turf)]
201+```
202+
203+The `turf` in the `(list turf)` is a domain as a `(list @t)`, TLD-first. The current default is `[['org' 'urbit' ~] ~]`.
204+
205+### Example
206+
207+See the [%turf section of the Examples document](/docs/arvo/jael/examples#turf) for a practical example.
208+
209+## `%step`
210+
211+```hoon
212+[%step ~]
213+```
214+
215+Reset web login code.
216+
217+Jael maintains a `step` value that represents the web login code revision number, and uses it to derive the code itself. It begins at `0` and is incremented each time the code is changed. When Jael updates the web login code, it sends Eyre a `%code-changed` `task:eyre` so that Eyre can throw away all of its current cookies and sessions. A `%step` task takes no additional argument.
218+
219+### Returns
220+
221+Jael does not return a `gift` in response to a `%step` `task`.
222+
223+### Example
224+
225+See the [%step](/docs/arvo/jael/examples#step) section of the Examples document for a practical example.
content/docs/arvo/reference/_index.md+2−2
@@ -1,11 +1,11 @@
11+++
22title = "Reference"
3−weight = 1
3+weight = 300
44sort_by = "weight"
55template = "sections/docs/chapters.html"
66+++
77
8−[Cryptography](@/docs/arvo/reference/cryptography.md)
8+[Cryptography](/docs/arvo/reference/cryptography)
99
1010An overview of where Arvo uses cryptography, what algorithms are used, and how
1111they are implemented.
content/docs/arvo/reference/cryptography.md+9−9
@@ -6,24 +6,24 @@ template = "doc.html"
66
77This is a summary of the cryptography functions found in `sys/zuse.hoon`, Arvo's
88standard library. This page currently only documents cryptographic functions
9−directly utilized by [Ames](@/docs/arvo/ames/ames.md). `zuse` also contains
9+directly utilized by [Ames](/docs/arvo/ames/ames). `zuse` also contains
1010cryptographic functions relevant to Ethereum such as the `+keccak:crypto` core,
1111but they are currently undocumented.
1212
13−Documentation for [Insecure Hashing](@/docs/hoon/reference/stdlib/2e.md) and the
14−[SHA Hash Family](@/docs/hoon/reference/stdlib/3d.md) is found in the Hoon standard
13+Documentation for [Insecure Hashing](/docs/hoon/reference/stdlib/2e) and the
14+[SHA Hash Family](/docs/hoon/reference/stdlib/3d) is found in the Hoon standard
1515library reference.
1616
1717## Summary
1818
1919`zuse` contains several cryptosuites. The ones utilized by Ames are
2020[`+ed:crypto`](#ed), [`+aes:crypto`](#aes), and [`+crub:crypto`](#crub), with
21−the latter being the only one which is implemented as an [`+acru:ames`](@/docs/arvo/ames/cryptography.md#crypto-core)-shaped core.
21+the latter being the only one which is implemented as an [`+acru:ames`](/docs/arvo/ames/cryptography#crypto-core)-shaped core.
2222
2323## `+crub:crypto` {#crub}
2424
2525`+crub:crypto` implements an
26−[`+acru:ames`](@/docs/arvo/ames/cryptography.md#crypto-core) core that implements
26+[`+acru:ames`](/docs/arvo/ames/cryptography#crypto-core) core that implements
2727[Suite B Cryptography](https://en.wikipedia.org/wiki/NSA_Suite_B_Cryptography).
2828
2929It utilizes AES symmetric key encryption and decryption from [`+aes:crypto`](#aes)
@@ -198,12 +198,12 @@ Diffie-Hellman](https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hell
198198key agreements as well as [Elliptic Curve Digital Signature
199199Algorithm](https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm).
200200These functionalities are ultimately utilized by [`+crub:crypto`](#crub), the
201−only cryptosuite which [Ames](@/docs/arvo/ames/ames.md) makes use of.
201+only cryptosuite which [Ames](/docs/arvo/ames/ames) makes use of.
202202
203−Most gates in `+ed:crypto` are [jetted](@/docs/vere/jetting.md), meaning that an
203+Most gates in `+ed:crypto` are [jetted](/docs/vere/jetting), meaning that an
204204external reference library is utilized whenever these functions are called,
205205rather than running in Nock natively. See the [Vere
206−documentation](@/docs/vere/cryptography.md#ed) for more information about the
206+documentation](/docs/vere/cryptography#ed) for more information about the
207207library utilized by jets.
208208
209209## `+aes:crypto` {#aes}
@@ -213,7 +213,7 @@ This core contains cryptographic primitives and helper functions for
213213encryption and decryption. As is the case with `ed:crypto`, these
214214functionalities are utilized by [`+crub:crypto`](#crub), and most gates are
215215jetted. See also the Vere documentation on [AES
216−SIV](@/docs/vere/cryptography.md#aes) for more information about the library
216+SIV](/docs/vere/cryptography#aes) for more information about the library
217217utilized by jets.
218218
219219This core contains several doors, each one used for a different variation of AES
content/docs/arvo/reference/filesystem.md+10−10
@@ -7,21 +7,21 @@ template = "doc.html"
77Here we describe what each of the primary folders present in the `%home` `desk`
88are used for. This organization is merely a convention, and the exact location
99of any file does not affect its operation. That being said, some [Ford
10−runes](@/docs/arvo/ford/ford.md) are designed with this structure in mind, and
10+runes](/docs/arvo/ford/ford) are designed with this structure in mind, and
1111applications such as dojo look in specific folders for code to run. Furthermore,
1212this organization is not perfectly adhered to - sometimes you may find structure
1313definitions in `/lib`, for example.
1414
1515- `/app` contains userspace applications, i.e. [Gall
16− agents](@/docs/userspace/gall/gall.md).
16+ agents](/docs/userspace/gall/gall).
1717- `/gen` contains generators. Many applications make use of generators, but
1818 also each generator in this folder may be run from dojo using `+`. For
1919 example, `/gen/foo/hoon` is run with `+foo`.
2020- `/lib` contains libraries that may be shared by multiple agents, threads,
2121 generators, etc. However, this is not the location of the standard libraries
2222 (see `/sys`). Libraries are imported from `/lib` with `/+`.
23−- `/mar` contains [mark](@/docs/arvo/clay/architecture.md#marks) definitions.
24−- `/sur` contains shared [structure](@/docs/hoon/reference/rune/_index.md) definitions.
23+- `/mar` contains [mark](/docs/arvo/clay/architecture#marks) definitions.
24+- `/sur` contains shared [structure](/docs/hoon/reference/rune/) definitions.
2525 Whenever you expect structures to be used by code across multiple files, it
2626 is recommended to place their shared structures in `/sur`. Structures are
2727 imported from `/sur` with `/-`.
@@ -30,7 +30,7 @@ definitions in `/lib`, for example.
3030 the exception to the rule - structures and functions that are central to
3131 Hoon, Arvo, and its vanes, are all located within this folder rather than in
3232 `/lib` and `/sur`. See [below](#sys) for more information on `/sys`.
33−- `/ted` contains [threads](@/docs/userspace/threads/overview.md). These may be
33+- `/ted` contains [threads](/docs/userspace/threads/overview). These may be
3434 run from dojo using `-`. For example, `/ted/foo/hoon` is run with `-foo`.
3535- `/tests` contains unit tests intended to be run using the `test` thread. To
3636 run a particular test `+test-bar` in `/tests/foo.hoon` in dojo, enter `-test %/tests/foo/test-bar ~`. If a file is specified, every test in that file will
@@ -44,13 +44,13 @@ dependencies is `hoon.hoon` -> `arvo.hoon` -> `lull.hoon` -> `zuse.hoon`. We
4444give a brief description of each of them.
4545
4646- `hoon.hoon` contains the Hoon compiler and the [Hoon standard
47− library](@/docs/hoon/reference/stdlib/table-of-contents.md). The Hoon
47+ library](/docs/hoon/reference/stdlib/table-of-contents). The Hoon
4848 compiler is self-hosted. This is the first file loaded by the Nock virtual
49− machine, [Vere](@/docs/vere/runtime.md), in order for it to learn how to
49+ machine, [Vere](/docs/vere/runtime), in order for it to learn how to
5050 interpret Hoon. The kelvin version number is the subject of `hoon.hoon`,
5151 currently at 140. One may see this from dojo by inspecting the subject with
5252 `.` and noting that `%140` is the final entry of the subject.
53−- `arvo.hoon` contains the [Arvo kernel](@/docs/arvo/overview.md) and
53+- `arvo.hoon` contains the [Arvo kernel](/docs/arvo/overview) and
5454 additional structures and functions directly relevant to the kernel. This is
5555 Urbit's "traffic cop", and as such contains the structure definitions for
5656 call stacks such as `duct`s and `bone`s. Once Vere understands Hoon, it loads
@@ -60,10 +60,10 @@ give a brief description of each of them.
6060 vanes, as well as a few functions. In particular, this includes the
6161 definitions of the `card`s utilized by each vane, each of which are
6262 documented in their respective documentation. `lull.hoon` is loaded by the
63− kernel during the [larval stage](@/docs/arvo/overview.md#larval-stage-core)
63+ kernel during the [larval stage](/docs/arvo/overview#larval-stage-core)
6464 in order to prepare to create the vanes. `arvo.hoon` is the subject of `lull.hoon`.
6565- `zuse.hoon` is the Arvo standard library. It consists primarily of functions
6666 shared by the kernel and vanes, such as the ones related to
67− [cryptography](@/docs/arvo/reference/cryptography.md). `zuse.hoon` is loaded
67+ [cryptography](/docs/arvo/reference/cryptography). `zuse.hoon` is loaded
6868 by the larval kernel following `lull.hoon`. `lull.hoon` is the subject of
6969 `zuse.hoon`. Then `zuse` is the subject of the vanes.
content/docs/azimuth/azimuth.md+2−2
@@ -43,7 +43,7 @@ Think of your master ticket like a very high-value password. The master ticket i
4343
4444### Ownership Address
4545
46−An ownership address has all rights over the assets deeded to it. These rights are on-chain actions described and implemented in [Ecliptic](@/docs/glossary/ecliptic.md), Azimuth's suite of governing smart-contracts.
46+An ownership address has all rights over the assets deeded to it. These rights are on-chain actions described and implemented in [Ecliptic](/docs/glossary/ecliptic), Azimuth's suite of governing smart-contracts.
4747
4848### Proxies
4949
@@ -56,7 +56,7 @@ Proxy addresses allow you to execute non-ownership related actions like spawning
5656
5757- **Voting Proxy**
5858
59− Galaxies only. Galaxies are the part of the [Galactic Senate](@/docs/glossary/senate.md), and this means
59+ Galaxies only. Galaxies are the part of the [Galactic Senate](/docs/glossary/senate), and this means
6060 they can cast votes on new proposals including changes to Ecliptic.
6161
6262- **Spawn Proxy**
content/docs/development/develop.md+1−1
@@ -35,7 +35,7 @@ an [interface](https://github.com/urbit/urbit/tree/master/pkg/interface) built
3535with [React](https://reactjs.org).
3636
3737Additionally, you can [contribute to
38−Landscape](https://github.com/urbit/urbit/blob/master/pkg/interface/CONTRIBUTING.md)
38+Landscape](https://github.com/urbit/urbit/blob/master/pkg/interface/CONTRIBUTING)
3939by tackling issues in its [issue
4040tracker](https://github.com/urbit/landscape/issues) and/or running the
4141[development stream](https://groups.google.com/a/urbit.org/g/dev/c/r2hv4ajCLwk).
content/docs/glossary/ames.md+3−3
@@ -5,13 +5,13 @@ template = "doc.html"
55category = "arvo"
66+++
77
8−**Ames** is the name of the Urbit network and the [vane](../vane) that communicates over it. It's an encrypted peer-to-peer network composed of instances of the [Arvo](../arvo) operating system. Each [galaxy](../galaxy), [star](../star), [planet](../planet), [moon](../moon), and [comet](../comet) communicates over the network utilizing the Ames protocol.
8+**Ames** is the name of the Urbit network and the [vane](/docs/glossary/vane) that communicates over it. It's an encrypted peer-to-peer network composed of instances of the [Arvo](/docs/glossary/arvo) operating system. Each [galaxy](/docs/glossary/galaxy), [star](/docs/glossary/star), [planet](/docs/glossary/planet), [moon](/docs/glossary/moon), and [comet](/docs/glossary/comet) communicates over the network utilizing the Ames protocol.
99
10−Your ship upgrades itself with [OTA updates](../ota-updates) via communication over Ames. The web interface, [Landscape](../landscape), of ships can be accessed by typing `sampel-palnet.arvo.network` into a browser, where `sampel-palnet` is the name of your ship.
10+Your ship upgrades itself with [OTA updates](/docs/glossary/ota-updates) via communication over Ames. The web interface, [Landscape](/docs/glossary/landscape), of ships can be accessed by typing `sampel-palnet.arvo.network` into a browser, where `sampel-palnet` is the name of your ship.
1111
1212Network continuity occasionally needs to be broken, either at an individual
1313level to fix networking issues or at a network-wide level to update Arvo beyond
14−what OTA updates are capable of doing. These events are called [breaches](../breach).
14+what OTA updates are capable of doing. These events are called [breaches](/docs/glossary/breach).
1515### Further Reading
1616
1717- [The Ames tutorial](/docs/arvo/ames/ames): An in-depth technical guide to the Ames protocol.
content/docs/glossary/aqua.md+2−2
@@ -7,9 +7,9 @@ category = "arvo"
77
88**Aqua** is something like Docker but for Urbit; it is a virtualization tool whose primary purpose is testing and development.
99
10−Aqua is a [Gall](../gall) app that runs an [Arvo](../arvo) instance or instances in userspace. It pretends to be [Vere](../vere), and as such it loads [Pills](../pill) to boot up a virtual ship or fleet of ships and then manages them from within the parent Arvo instance. Running tests for a virtual fleet of Aqua ships is done using [pH](../ph).
10+Aqua is a [Gall](/docs/glossary/gall) app that runs an [Arvo](/docs/glossary/arvo) instance or instances in userspace. It pretends to be [Vere](/docs/glossary/vere), and as such it loads [Pills](/docs/glossary/pill) to boot up a virtual ship or fleet of ships and then manages them from within the parent Arvo instance. Running tests for a virtual fleet of Aqua ships is done using [pH](/docs/glossary/ph).
1111
12−Aqua is jetted with the usual [Nock](../nock) interpreter and thus virtual ships do not run any slower than the parent ship.
12+Aqua is jetted with the usual [Nock](/docs/glossary/nock) interpreter and thus virtual ships do not run any slower than the parent ship.
1313
1414### Further Reading
1515
content/docs/glossary/arm.md+1−1
@@ -6,7 +6,7 @@ template = "doc.html"
66category = "hoon-nock"
77+++
88
9−An **arm** is a Hoon expression encoded as a noun. You can find them as part of a [core](../core)
9+An **arm** is a Hoon expression encoded as a noun. You can find them as part of a [core](/docs/glossary/core)
1010
1111### Further Reading
1212
content/docs/glossary/arvo.md+9−9
@@ -4,8 +4,8 @@ template = "doc.html"
44+++
55
66**Arvo** is the Urbit operating system and kernel. Arvo's state is a pure
7−function of its [event log](../eventlog), and it serves as the Urbit event
8−manager. It contains [vanes](../vane), which are kernel modules that perform
7+function of its [event log](/docs/glossary/eventlog), and it serves as the Urbit event
8+manager. It contains [vanes](/docs/glossary/vane), which are kernel modules that perform
99essential system operations.
1010
1111Arvo being purely functional means that the state of the operating system at a given moment is completely determined by the sequence of events in the event log. In other words, the state of an Arvo instance is given by a lifecycle function
@@ -18,19 +18,19 @@ Arvo coordinates and reloads vanes. It can be thought of as a traffic-director.
1818```
1919Unix event -> Vere -> Arvo -> vane -> Arvo
2020```
21−Here, [Vere](../vere) is the virtual machine running Urbit.
21+Here, [Vere](/docs/glossary/vere) is the virtual machine running Urbit.
2222
2323Arvo is located in `/home/sys/arvo.hoon` within your urbit.
2424
25−Arvo vanes include [Ames](../ames) for networking, [Behn](../behn) for timing,
26−[Clay](../clay) for filesystem and typed revision control, [Dill](../dill) for
27−terminal driving, [Eyre](../eyre) for web services, [Ford](../ford) for
28−building, and [Gall](../gall) for application management.
25+Arvo vanes include [Ames](/docs/glossary/ames) for networking, [Behn](/docs/glossary/behn) for timing,
26+[Clay](/docs/glossary/clay) for filesystem and typed revision control, [Dill](/docs/glossary/dill) for
27+terminal driving, [Eyre](/docs/glossary/eyre) for web services, [Ford](/docs/glossary/ford) for
28+building, and [Gall](/docs/glossary/gall) for application management.
2929
30−Vanes and other programs for Arvo are written in [Hoon](../hoon).
30+Vanes and other programs for Arvo are written in [Hoon](/docs/glossary/hoon).
3131
3232A ship creates its own copy of Arvo via a bootstrap sequence known as a
33−[Pill](../pill).
33+[Pill](/docs/glossary/pill).
3434
3535### Further Reading
3636
content/docs/glossary/atom.md+1−1
@@ -5,7 +5,7 @@ template = "doc.html"
55category = "hoon-nock"
66+++
77
8−An **atom** is any non-negative integer of any size. The atom is the most basic data type in [Nock](../nock) and [Hoon](../hoon).
8+An **atom** is any non-negative integer of any size. The atom is the most basic data type in [Nock](/docs/glossary/nock) and [Hoon](/docs/glossary/hoon).
99
1010A Hoon atom type consists of a Nock atom with two additional pieces of metadata:
1111an _aura_, which is a soft type that declares if an atom is a date, a ship name, a
content/docs/glossary/azimuth.md+3−3
@@ -3,11 +3,11 @@ title = "Azimuth"
33template = "doc.html"
44+++
55
6−**Azimuth** is Urbit's identity layer, built as a suite of smart contracts on the Ethereum blockchain. It is Urbit's method of securing digital identities that are required to use the [Arvo](../arvo) peer-to-peer network, without the need for a central authority. Azimuth identities exist as non-fungible tokens, which are owned by Ethereum addresses and can be transferred between such addresses. Identities can use the [claims](../claims) contract to make assertions – real-world or otherwise – about their owner.
6+**Azimuth** is Urbit's identity layer, built as a suite of smart contracts on the Ethereum blockchain. It is Urbit's method of securing digital identities that are required to use the [Arvo](/docs/glossary/arvo) peer-to-peer network, without the need for a central authority. Azimuth identities exist as non-fungible tokens, which are owned by Ethereum addresses and can be transferred between such addresses. Identities can use the [claims](/docs/glossary/claims) contract to make assertions – real-world or otherwise – about their owner.
77
8−The primary way to interact with Azimuth and to manage your identities is through our [Bridge](https://bridge.urbit.org) application. Bridge is a front-end for [Ecliptic](../ecliptic), the Azimuth contract that's used to perform actions on the blockchain.
8+The primary way to interact with Azimuth and to manage your identities is through our [Bridge](https://bridge.urbit.org) application. Bridge is a front-end for [Ecliptic](/docs/glossary/ecliptic), the Azimuth contract that's used to perform actions on the blockchain.
99
10−There are a limited number of Azimuth identities which results in identities having value. This allows for identities to function as reputation primitives, since such scarcity creates an economic incentive for identities to remain static and to keep the network friendly. Undesirable behavior – spamming, scamming, and malware-spreading - will generally result in a [censure](../censure) from [galaxies](../galaxy) and [stars](../star), marking the bad actor.
10+There are a limited number of Azimuth identities which results in identities having value. This allows for identities to function as reputation primitives, since such scarcity creates an economic incentive for identities to remain static and to keep the network friendly. Undesirable behavior – spamming, scamming, and malware-spreading - will generally result in a [censure](/docs/glossary/censure) from [galaxies](/docs/glossary/galaxy) and [stars](/docs/glossary/star), marking the bad actor.
1111
1212It should be noted that Azimuth isn't built just for Arvo. It can be used as an identity system for other projects.
1313
content/docs/glossary/battery.md+1−1
@@ -6,7 +6,7 @@ template = "doc.html"
66category = "hoon-nock"
77+++
88
9−A **battery** is a collection of Hoon expressions and the head of a [core](../core).
9+A **battery** is a collection of Hoon expressions and the head of a [core](/docs/glossary/core).
1010
1111### Further Reading
1212
content/docs/glossary/behn.md+2−2
@@ -5,9 +5,9 @@ template = "doc.html"
55category = "arvo"
66+++
77
8−**Behn** is the timing [vane](../filesystem). It allows for applications to schedule events, which are managed in a simple priority queue. For example, [Clay](../clay), the Urbit filesystem, uses Behn to keep track of time-specific file requests. [Eyre](../eyre), the Urbit web vane, uses Behn for timing-out HTTP sessions.
8+**Behn** is the timing [vane](/docs/glossary/filesystem). It allows for applications to schedule events, which are managed in a simple priority queue. For example, [Clay](/docs/glossary/clay), the Urbit filesystem, uses Behn to keep track of time-specific file requests. [Eyre](/docs/glossary/eyre), the Urbit web vane, uses Behn for timing-out HTTP sessions.
99
10−Behn is located in `/home/sys/vane/behn.hoon` within [Arvo](../arvo).
10+Behn is located in `/home/sys/vane/behn.hoon` within [Arvo](/docs/glossary/arvo).
1111
1212### Further Reading
1313
content/docs/glossary/breach.md+3−3
@@ -5,18 +5,18 @@ template = "doc.html"
55category = "arvo"
66+++
77
8−Continuity on the [Ames](../ames) network occasionally needs to be broken
8+Continuity on the [Ames](/docs/glossary/ames) network occasionally needs to be broken
99(though with increasing rarity) in order to correct a networking error. These
1010infrequent events are known as **breaches**, which cause an individual ship to
1111forget its network message history.
1212
1313Breaches are always initiated by the user, frequently in response to a
14−connectivity error. The easiest way to do this is with [Bridge](../bridge).
14+connectivity error. The easiest way to do this is with [Bridge](/docs/glossary/bridge).
1515There are two types of personal breaches: changing networking keys, and changing
1616the Urbit ID ownership address.
1717
1818Historically, there were also "network breaches", which happened when a major
19−Arvo revision that could not be implemented via an [OTA update](../ota-updates)
19+Arvo revision that could not be implemented via an [OTA update](/docs/glossary/ota-updates)
2020occured. Network breaches were effectively breaching every ship on the network
2121at once. The most recent network breach occurred in December 2020, and we expect
2222it to be the final one.
content/docs/glossary/bridge.md+2−2
@@ -5,7 +5,7 @@ template = "doc.html"
55category = "azimuth"
66+++
77
8−**Bridge** is a client made for interacting with [Azimuth](../azimuth). It's the recommended way to receive, send, and manage your Urbit identity, and it's by far the easiest way to generate the [keyfile](../keyfile) required to get your [ship](../ship) onto the [Arvo](../arvo) network. Most Bridge functions are accessed by "logging in" to an identity's ownership address or one of its [proxy addresses](../proxies). It's accessed at [bridge.urbit.org](https://bridge.urbit.org/).
8+**Bridge** is a client made for interacting with [Azimuth](/docs/glossary/azimuth). It's the recommended way to receive, send, and manage your Urbit identity, and it's by far the easiest way to generate the [keyfile](/docs/glossary/keyfile) required to get your [ship](/docs/glossary/ship) onto the [Arvo](/docs/glossary/arvo) network. Most Bridge functions are accessed by "logging in" to an identity's ownership address or one of its [proxy addresses](/docs/glossary/proxies). It's accessed at [bridge.urbit.org](https://bridge.urbit.org/).
99
1010Below are some important functions of Bridge.
1111
@@ -15,7 +15,7 @@ This function allows you to view the public information of any Urbit identity, s
1515
1616#### Actions
1717
18−- **Issue child:** Spawn a child from a [galaxy](../galaxy) or a [star](../star).
18+- **Issue child:** Spawn a child from a [galaxy](/docs/glossary/galaxy) or a [star](/docs/glossary/star).
1919- **Transfer:** Send the Urbit identity to another Ethereum address.
2020- **Accept incoming transfer:** If someone is trying to send you an Urbit identity, you must use this action to receive it.
2121- **Cancel outgoing transfer:** Cancel a transfer that you initiated before the recipient has accepted it.
content/docs/glossary/censure.md+1−1
@@ -5,7 +5,7 @@ template = "doc.html"
55category = "azimuth"
66+++
77
8−The **Censures** [Azimuth](../azimuth) contract allows [stars](../star) and [galaxies](../galaxy) to assign negative reputation information to other points of equal or lower rank. This information is publicly visible and is intended to create an economic deterrent to bad behavior.
8+The **Censures** [Azimuth](/docs/glossary/azimuth) contract allows [stars](/docs/glossary/star) and [galaxies](/docs/glossary/galaxy) to assign negative reputation information to other points of equal or lower rank. This information is publicly visible and is intended to create an economic deterrent to bad behavior.
99
1010Positive reputation information cannot be similarly assigned to Urbit identities but it may be inferred from a lack of censures.
1111
content/docs/glossary/ceremony.md+1−1
@@ -5,4 +5,4 @@ template = "doc.html"
55category = "azimuth"
66+++
77
8−The **ceremony** or **launch ceremony** was the event that transferred custody of [Azimuth](../Azimuth) identities from a centralized ledger to the Ethereum blockchain. Before the ceremony, the Tlon Corporation kept track of ownership in a spreadsheet. The ceremony created Ethereum tokens for those entries and transferred them to the appropriate [HD Wallets](../hdwallet).
8+The **ceremony** or **launch ceremony** was the event that transferred custody of [Azimuth](/docs/glossary/azimuth) identities from a centralized ledger to the Ethereum blockchain. Before the ceremony, the Tlon Corporation kept track of ownership in a spreadsheet. The ceremony created Ethereum tokens for those entries and transferred them to the appropriate [HD Wallets](/docs/glossary/hdwallet).
content/docs/glossary/chat.md+3−3
@@ -6,8 +6,8 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−**Chat** is a suite of [Gall](../gall) applications that handle "instant
10−messaging"-style communication between [ships](../ship).
9+**Chat** is a suite of [Gall](/docs/glossary/gall) applications that handle "instant
10+messaging"-style communication between [ships](/docs/glossary/ship).
1111
1212A chat is a named collection of messages created by and hosted in a ship's
1313`chat-store`. Most of Chat revolves around doing things with these chats.
@@ -27,6 +27,6 @@ There are two "kinds" of chats:
2727
2828### Further Reading
2929
30−- [Landscape](../landscape) includes a web interface for using Chat.
30+- [Landscape](/docs/glossary/landscape) includes a web interface for using Chat.
3131- [Messaging guide](/using/os/messaging): A guide to
3232 using Chat from the command line.
content/docs/glossary/claims.md+1−1
@@ -6,7 +6,7 @@ template = "doc.html"
66category = "azimuth"
77+++
88
9−The **Claims** [Azimuth](../azimuth) contract allows Urbit identities to make publicly visible assertions about their owner. Such assertions are most commonly about the owner's identity, real-world or otherwise. A claim has three fields: the claim itself, the _protocol_, and the _dossier_.
9+The **Claims** [Azimuth](/docs/glossary/azimuth) contract allows Urbit identities to make publicly visible assertions about their owner. Such assertions are most commonly about the owner's identity, real-world or otherwise. A claim has three fields: the claim itself, the _protocol_, and the _dossier_.
1010
1111The claim itself is what you're attempting to assert the identity of, as in `@JohnDoe` for a Twitter account, or `1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa`
1212
content/docs/glossary/clay.md+1−1
@@ -6,7 +6,7 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−**Clay** is the filesystem and typed revision-control [vane](../vane). It can be thought of as a continuously synced git. Clay handles file-change events and maps them from [Arvo](../arvo) to Unix and vice versa.
9+**Clay** is the filesystem and typed revision-control [vane](/docs/glossary/vane). It can be thought of as a continuously synced git. Clay handles file-change events and maps them from [Arvo](/docs/glossary/arvo) to Unix and vice versa.
1010
1111A common way to use Clay is to create a pier, a directory that exists in and is visible in Unix. Changes are automatically recorded from Urbit to the Unix directory and vice versa. Just set it and forget it!
1212
content/docs/glossary/comet.md+6−6
@@ -5,26 +5,26 @@ template = "doc.html"
55category = "arvo"
66+++
77
8−A **comet** is a kind of [ship](../ship) on the [Ames](../ames) network which
8+A **comet** is a kind of [ship](/docs/glossary/ship) on the [Ames](/docs/glossary/ames) network which
99may be quickly generated by anyone and which are virtually unlimited. They have
1010many uses, including but not limited to:
11−- free identities for new users to try things out before deciding to purchase a [planet](../planet).
11+- free identities for new users to try things out before deciding to purchase a [planet](/docs/glossary/planet).
1212- bots
1313- remaining anonymous
1414- testing software
1515
1616Comets have nearly all the same capabilities as a planet. The restrictions they
1717do possess are technical constraints of the system due primarily to the fact that they
18−have no presence on [Azimuth](../azimuth), rather than purposefully placed
18+have no presence on [Azimuth](/docs/glossary/azimuth), rather than purposefully placed
1919blockades.
20− - They may not [change their networking keys](../bridge).
21− - They may not spawn [moons](../moon).
20+ - They may not [change their networking keys](/docs/glossary/bridge).
21+ - They may not spawn [moons](/docs/glossary/moon).
2222 - They must initiate all direct messages with other ships.
2323The last constraint has a workaround slated. If you wish to change your
2424networking keys, we suggest generating a new comet. Moons are impossible for
2525comets due to the structure of the address space.
2626
27−Some groups on [Landscape](../landscape) may not allow comet membership, but this is rare.
27+Some groups on [Landscape](/docs/glossary/landscape) may not allow comet membership, but this is rare.
2828
2929
3030### Further reading
content/docs/glossary/core.md+1−1
@@ -6,7 +6,7 @@ template = "doc.html"
66category = "hoon-nock"
77+++
88
9−A **core** is a cell of a [battery](../battery) and a [payload](../payload). It is a Hoon construct similar in use to Objects in Object Oriented programming languages.
9+A **core** is a cell of a [battery](/docs/glossary/battery) and a [payload](/docs/glossary/payload). It is a Hoon construct similar in use to Objects in Object Oriented programming languages.
1010
1111### Further Reading
1212
content/docs/glossary/delegated-sending.md+1−1
@@ -6,4 +6,4 @@ template = "doc.html"
66category = "azimuth"
77+++
88
9−The **Delegated Sending** [Azimuth](../azimuth) contract is a way that a [star](../star ) distributes [planets](../planet). After a star configures the Delegated Sending contract as its [spawn proxy](../proxies) it can give invites to planets, and those invitees can subsequently send additional planets from that star to their friends, and pass on this invite power indefinitely. This contract keeps track of those operations in the form of the [Invite Tree](../invite-tree), so the relationship between inviters and invitees is publicly known.
9+The **Delegated Sending** [Azimuth](/docs/glossary/azimuth) contract is a way that a [star](/docs/glossary/star ) distributes [planets](/docs/glossary/planet). After a star configures the Delegated Sending contract as its [spawn proxy](/docs/glossary/proxies) it can give invites to planets, and those invitees can subsequently send additional planets from that star to their friends, and pass on this invite power indefinitely. This contract keeps track of those operations in the form of the [Invite Tree](/docs/glossary/invite-tree), so the relationship between inviters and invitees is publicly known.
content/docs/glossary/desk.md+1−1
@@ -6,7 +6,7 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−A **desk** is an independently revision-controlled branch of a [ship](../ship) that uses the [Clay](../clay) filesystem. Each desk contains its own apps, [mark](../mark) definitions, files, and so forth.
9+A **desk** is an independently revision-controlled branch of a [ship](/docs/glossary/ship) that uses the [Clay](/docs/glossary/clay) filesystem. Each desk contains its own apps, [mark](/docs/glossary/mark) definitions, files, and so forth.
1010
1111Traditionally a ship has at least a base desk and a home desk. The base desk has all the system software from the distribution, and the home desk is a fork of base with all the items specific to the user of the ship. A desk is a series of numbered commits, the most recent of which represents the current state of the desk. A commit is composed of `1` an absolute time when it was created, `2` a list of zero or more parents, and `3` a map from paths to data.
1212
content/docs/glossary/dill.md+2−2
@@ -6,7 +6,7 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−**Dill** is the terminal-driver [vane](../filesystem). You run your urbit in your Unix terminal, and Unix sends every event –⁠
9+**Dill** is the terminal-driver [vane](/docs/glossary/filesystem). You run your urbit in your Unix terminal, and Unix sends every event –⁠
1010such as a keystroke or a change in the dimensions of the terminal window –⁠ to be handled by Dill. Dill acts as an intermediary for anything that uses keyboard events, which results in a slight input lag in Urbit’s command-line interface.
1111
1212A keyboard event's journey from Unix to Dojo, the Urbit shell, can be imagined as diagrammed below:
@@ -15,7 +15,7 @@ A keyboard event's journey from Unix to Dojo, the Urbit shell, can be imagined a
1515Keystroke in Unix -> Vere (virtual machine) -> Arvo -> Dill -> the Dojo
1616```
1717
18−Dill is located at `/home/sys/vane/dill.hoon` within [Arvo](../arvo).
18+Dill is located at `/home/sys/vane/dill.hoon` within [Arvo](/docs/glossary/arvo).
1919
2020### Further Reading
2121
content/docs/glossary/docvote.md+1−1
@@ -6,4 +6,4 @@ template = "doc.html"
66category = "azimuth"
77+++
88
9−A **document proposal** is a type of [vote](../voting) action taken by the [Galactic Senate](../senate) over [Azimuth](../azimuth). By passing a document proposal, [Galaxies](../galaxy) in the Senate agree legitimize a document with arbitrary content. Such a document might make claims about the state of the world; an example document that would be subject to this type of vote might be a file that says, "@urbit_senate is the official Twitter account of the senate, and is to be managed by John Doe until further notice."
9+A **document proposal** is a type of [vote](/docs/glossary/voting) action taken by the [Galactic Senate](/docs/glossary/senate) over [Azimuth](/docs/glossary/azimuth). By passing a document proposal, [Galaxies](/docs/glossary/galaxy) in the Senate agree legitimize a document with arbitrary content. Such a document might make claims about the state of the world; an example document that would be subject to this type of vote might be a file that says, "@urbit_senate is the official Twitter account of the senate, and is to be managed by John Doe until further notice."
content/docs/glossary/dojo.md+3−3
@@ -5,10 +5,10 @@ title = "Dojo"
55category = "arvo"
66+++
77
8−The **Dojo** is Urbit's command-line application that processes system commands and returns output. It also runs [Hoon](../hoon) and [Nock](../nock) code, making it a good place to play around with those languages.
8+The **Dojo** is Urbit's command-line application that processes system commands and returns output. It also runs [Hoon](/docs/glossary/hoon) and [Nock](/docs/glossary/nock) code, making it a good place to play around with those languages.
99
10−The other default command-line app is [Chat](../chat). To switch between Dojo
11−and [Chat](../chat) press Ctrl-X. The Dojo is the first thing you encounter after successfully booting your [ship](../ship).
10+The other default command-line app is [Chat](/docs/glossary/chat). To switch between Dojo
11+and [Chat](/docs/glossary/chat) press Ctrl-X. The Dojo is the first thing you encounter after successfully booting your [ship](/docs/glossary/ship).
1212
1313### Further Reading
1414- [Hoon Tutorial Lesson 1.1: Setup](/docs/hoon/hoon-school/setup): A great way to get started with using Hoon in the Dojo.
content/docs/glossary/door.md+1−1
@@ -6,7 +6,7 @@ template = "doc.html"
66category = "hoon-nock"
77+++
88
9−A **door** is a [core](../core) the payload of which is a cell of sample and context.
9+A **door** is a [core](/docs/glossary/core) the payload of which is a cell of sample and context.
1010
1111### Further Reading
1212
content/docs/glossary/ecliptic.md+3−3
@@ -6,7 +6,7 @@ template = "doc.html"
66category = "azimuth"
77+++
88
9−The **Ecliptic** contract sets the rules for what is and is not possible on Azimuth. It's the point of entry for interacting with the [Azimuth](../azimuth) ledger data; the Azimuth contract itself is just data, and the Ecliptic contract is the logic for controlling that data. Examples of such logic include verifying permissions of the person asking to access their data, and ensuring a requested change is actually valid.
9+The **Ecliptic** contract sets the rules for what is and is not possible on Azimuth. It's the point of entry for interacting with the [Azimuth](/docs/glossary/azimuth) ledger data; the Azimuth contract itself is just data, and the Ecliptic contract is the logic for controlling that data. Examples of such logic include verifying permissions of the person asking to access their data, and ensuring a requested change is actually valid.
1010
11−The Senate (the voting body of [galaxies](../galaxy)) has the power to replace
12−Ecliptic via an [upgrade proposal](../upgrade).
11+The Senate (the voting body of [galaxies](/docs/glossary/galaxy)) has the power to replace
12+Ecliptic via an [upgrade proposal](/docs/glossary/upgrade).
content/docs/glossary/eventlog.md+4−4
@@ -6,9 +6,9 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−The **event log** of a [ship](../ship) is a totally ordered list of every single [Arvo](../arvo) event that ship has undergone. The state of a ship is a pure function of the event log.
9+The **event log** of a [ship](/docs/glossary/ship) is a totally ordered list of every single [Arvo](/docs/glossary/arvo) event that ship has undergone. The state of a ship is a pure function of the event log.
1010
11−The event log is maintained by [Vere](../vere).
11+The event log is maintained by [Vere](/docs/glossary/vere).
1212
1313If the physical machine loses power and your urbit's state is 'lost' from memory, when your urbit restarts it will replay its entire event log and recover its last valid state from scratch.
1414
@@ -16,8 +16,8 @@ In practice, event logs become large and unwieldy over time. Periodically a snap
1616
1717Persistence, in the context of storing data in a computer system, means that data is stored in a non-volatile manner and that input must be recorded before the output result is performed. Thus, every event must be written to disk - or must be _persisted_ - before the event effects actually take place.
1818
19−The initial entries of the event log are created during the bootstrap sequence contained in a [Pill](../pill).
19+The initial entries of the event log are created during the bootstrap sequence contained in a [Pill](/docs/glossary/pill).
2020
2121### Further Reading
2222
23−- [Pier](../pier): The directory on disk which contains the ship's state.
23+- [Pier](/docs/glossary/pier): The directory on disk which contains the ship's state.
content/docs/glossary/eyre.md+3−3
@@ -6,11 +6,11 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−**Eyre** is the web-server [vane](../vane) that handles client-facing HTTP operations. Unix sends HTTP messages though to Eyre and Eyre produces HTTP messages in response. It is the counterpart to [Iris](../iris), which is the server-facing HTTP vane.
9+**Eyre** is the web-server [vane](/docs/glossary/vane) that handles client-facing HTTP operations. Unix sends HTTP messages though to Eyre and Eyre produces HTTP messages in response. It is the counterpart to [Iris](/docs/glossary/iris), which is the server-facing HTTP vane.
1010
11−In general, apps and vanes do not call Eyre; rather, Eyre calls apps and vanes. Eyre uses [Ford](../ford) and [Gall](../gall) to functionally publish pages and facilitate communication with apps.
11+In general, apps and vanes do not call Eyre; rather, Eyre calls apps and vanes. Eyre uses [Ford](/docs/glossary/ford) and [Gall](/docs/glossary/gall) to functionally publish pages and facilitate communication with apps.
1212
13−Eyre is located at `/home/sys/vane/eyre.hoon` within [Arvo](../arvo).
13+Eyre is located at `/home/sys/vane/eyre.hoon` within [Arvo](/docs/glossary/arvo).
1414
1515### Further Reading
1616
content/docs/glossary/ford.md+3−3
@@ -6,11 +6,11 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−**Ford** is the build-system [vane](../vane). Ford is capable of sequencing generic asynchronous computations. Its uses include linking source files into programs, assembling live-updating websites, and performing file-type conversions.
9+**Ford** is the build-system [vane](/docs/glossary/vane). Ford is capable of sequencing generic asynchronous computations. Its uses include linking source files into programs, assembling live-updating websites, and performing file-type conversions.
1010
11−Ford neither accepts Unix events nor produces Unix effects. It exists entirely for the benefit of [Arvo](../arvo) applications and other vanes, specifically [Clay](../clay) and [Gall](../gall).
11+Ford neither accepts Unix events nor produces Unix effects. It exists entirely for the benefit of [Arvo](/docs/glossary/arvo) applications and other vanes, specifically [Clay](/docs/glossary/clay) and [Gall](/docs/glossary/gall).
1212
13−Ford is located at `/home/sys/vane/ford.hoon` within [Arvo](../arvo).
13+Ford is located at `/home/sys/vane/ford.hoon` within [Arvo](/docs/glossary/arvo).
1414
1515### Further Reading
1616
content/docs/glossary/galaxy.md+3−3
@@ -8,8 +8,8 @@ category = "arvo"
88
99A **galaxy** can be one of two related things:
1010
11−- A kind of [Azimuth](../azimuth) Urbit identity that sits at the top of the identity hierarchy. Galaxies, in this sense, have the power to issue [stars](../star), meaning that all other kinds of identities ultimate derive from galaxies. Galaxies also form a [Senate](../senate), the governing body of Azimuth. The Senate has the power to update the logic of Azimuth by [majority vote](../voting).
11+- A kind of [Azimuth](/docs/glossary/azimuth) Urbit identity that sits at the top of the identity hierarchy. Galaxies, in this sense, have the power to issue [stars](/docs/glossary/star), meaning that all other kinds of identities ultimate derive from galaxies. Galaxies also form a [Senate](/docs/glossary/senate), the governing body of Azimuth. The Senate has the power to update the logic of Azimuth by [majority vote](/docs/glossary/voting).
1212
13−- A [ship](../ship) on the Arvo network whose identity is a planet in the former definition. In this sense, galaxies act as infrastructure for the [Arvo](../arvo) network, providing [Ames](../ames)-related services, such as peer-to-peer routing and distributing [over-the-air software updates](../ota-updates). Stars rely on galaxies for these services in the way that planets rely on stars.
13+- A [ship](/docs/glossary/ship) on the Arvo network whose identity is a planet in the former definition. In this sense, galaxies act as infrastructure for the [Arvo](/docs/glossary/arvo) network, providing [Ames](/docs/glossary/ames)-related services, such as peer-to-peer routing and distributing [over-the-air software updates](/docs/glossary/ota-updates). Stars rely on galaxies for these services in the way that planets rely on stars.
1414
15−Galaxies are 8-bit, representable by numbers 0 to 255. This means that there are 256 possible galaxies; each of these galaxies is able to issue 255 [stars](../star). Galaxies have one-syllable names like `~mul` or `~lux`.
15+Galaxies are 8-bit, representable by numbers 0 to 255. This means that there are 256 possible galaxies; each of these galaxies is able to issue 255 [stars](/docs/glossary/star). Galaxies have one-syllable names like `~mul` or `~lux`.
content/docs/glossary/gall.md+1−1
@@ -6,7 +6,7 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−**Gall** is the application-management [vane](../vane). Userspace apps –⁠ daemons, really –⁠ are started, stopped, and sandboxed by Gall. Gall provides developers with a consistent interface for connecting their app to [Arvo](../arvo). It allows applications and other vanes to send messages to applications and subscribe to data streams. Messages coming into Gall are routed to the intended application, and the response comes back along the same route. If the intended target is on another [ship](../ship), Gall will route it behind the scenes through [Ames](../ames) to the other ship.
9+**Gall** is the application-management [vane](/docs/glossary/vane). Userspace apps –⁠ daemons, really –⁠ are started, stopped, and sandboxed by Gall. Gall provides developers with a consistent interface for connecting their app to [Arvo](/docs/glossary/arvo). It allows applications and other vanes to send messages to applications and subscribe to data streams. Messages coming into Gall are routed to the intended application, and the response comes back along the same route. If the intended target is on another [ship](/docs/glossary/ship), Gall will route it behind the scenes through [Ames](/docs/glossary/ames) to the other ship.
1010
1111Gall is located at `/home/sys/vane/gall.hoon` within Arvo.
1212
content/docs/glossary/gate.md+2−2
@@ -6,9 +6,9 @@ template = "doc.html"
66category = "hoon-nock"
77+++
88
9−A **gate** is [core](../core) with one [arm](../arm) named $. They are often called Hoon Functions because they have many of the same properties of functions from other programming languages.
9+A **gate** is [core](/docs/glossary/core) with one [arm](/docs/glossary/arm) named $. They are often called Hoon Functions because they have many of the same properties of functions from other programming languages.
1010
1111### Further Reading
1212
1313- [The Hoon Tutorial](/docs/hoon/hoon-school/): Our guide to learning the Hoon programming language.
14−- [Lesson 1.4 Gates](/docs/hoon/hoon-school/gates): A Hoon tutorial lesson about gates.
14+- [Lesson 1.4 Gates](/docs/hoon/hoon-school/gates): A Hoon tutorial lesson about gates.
content/docs/glossary/hdwallet.md+2−2
@@ -6,9 +6,9 @@ template = "doc.html"
66category = "azimuth"
77+++
88
9−The **Urbit HD Wallet** (_Hierarchical Deterministic_ Wallet) is a system of related Ethereum addresses that's used to store and manage an Urbit identity. Each of these Ethereum addresses have different powers over the same identity, from setting networking keys for communicating in the [Arvo](../arvo) network to transferring ownership of identities. HD Wallets are created with the [Wallet Generator](../wallet-generator) software.
9+The **Urbit HD Wallet** (_Hierarchical Deterministic_ Wallet) is a system of related Ethereum addresses that's used to store and manage an Urbit identity. Each of these Ethereum addresses have different powers over the same identity, from setting networking keys for communicating in the [Arvo](/docs/glossary/arvo) network to transferring ownership of identities. HD Wallets are created with the [Wallet Generator](/docs/glossary/wallet-generator) software.
1010
11−The Ethereum address that has full powers over a given Urbit identity, including the ability to transfer ownership of the identity, is called the ownership address. Ethereum addresses with fewer powers – the ability to transfer ownership being notably absent – are known as [proxies](../proxies). This scheme of compartmentalized powers allows wallet holders to only handle less valuable keys when they want to perform operations on an Urbit identity without risking their entire asset.
11+The Ethereum address that has full powers over a given Urbit identity, including the ability to transfer ownership of the identity, is called the ownership address. Ethereum addresses with fewer powers – the ability to transfer ownership being notably absent – are known as [proxies](/docs/glossary/proxies). This scheme of compartmentalized powers allows wallet holders to only handle less valuable keys when they want to perform operations on an Urbit identity without risking their entire asset.
1212
1313If a proxy or ownership address is compromised or has its keys lost, it can always be rederived using the master ticket, which is the piece of entropy that was initially used to derive the HD wallet.
1414
content/docs/glossary/hoon.md+1−1
@@ -4,7 +4,7 @@ title = "Hoon"
44template = "doc.html"
55+++
66
7−Hoon is a strict, higher-order typed functional programming language that compiles itself to [Nock](../nock). As a result Hoon code is effectively implemented by the interpreter [Vere](../vere). Programs for the Urbit operating system and kernel, [Arvo](../arvo), are written in Hoon.
7+Hoon is a strict, higher-order typed functional programming language that compiles itself to [Nock](/docs/glossary/nock). As a result Hoon code is effectively implemented by the interpreter [Vere](/docs/glossary/vere). Programs for the Urbit operating system and kernel, [Arvo](/docs/glossary/arvo), are written in Hoon.
88
99The Hoon source file is located in `/home/sys/hoon.hoon` within your Urbit.
1010
content/docs/glossary/invite-tree.md+1−1
@@ -6,4 +6,4 @@ template = "doc.html"
66category = "azimuth"
77+++
88
9−The **Invite Tree** is the state stored by the [Delegated Sending](../delegated-sending) contract on [Azimuth](../azimuth), and is a record of who gave a [planet](../planet) to whom. This allows for community applications, such as a chat channel for all distantly related planets.
9+The **Invite Tree** is the state stored by the [Delegated Sending](/docs/glossary/delegated-sending) contract on [Azimuth](/docs/glossary/azimuth), and is a record of who gave a [planet](/docs/glossary/planet) to whom. This allows for community applications, such as a chat channel for all distantly related planets.
content/docs/glossary/iris.md+2−2
@@ -6,6 +6,6 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−**Iris** is the web-server [vane](../vane) that handles everything HTTP-related on the server side. It is the counterpart to [Eyre](../eyre), which is the client-facing HTTP vane.
9+**Iris** is the web-server [vane](/docs/glossary/vane) that handles everything HTTP-related on the server side. It is the counterpart to [Eyre](/docs/glossary/eyre), which is the client-facing HTTP vane.
1010
11−Iris is located at `/home/sys/vane/iris.hoon` within [Arvo](../arvo).
11+Iris is located at `/home/sys/vane/iris.hoon` within [Arvo](/docs/glossary/arvo).
content/docs/glossary/jael.md+1−1
@@ -5,4 +5,4 @@ template = "doc.html"
55category = "arvo"
66+++
77
8−**Jael** is the [vane](../vane) that keeps track of [Azimuth](../azimuth) related information. For each [ship](../ship), this consists of its networking keys, its revision number (or _life_), its breach number, and who the sponsor of the ship is.
8+**Jael** is the [vane](/docs/glossary/vane) that keeps track of [Azimuth](/docs/glossary/azimuth) related information. For each [ship](/docs/glossary/ship), this consists of its networking keys, its revision number (or _life_), its breach number, and who the sponsor of the ship is.
content/docs/glossary/jaque.md+1−1
@@ -6,7 +6,7 @@ template = "doc.html"
66category = "hoon-nock"
77+++
88
9−**Jaque** is a new [Nock](../nock) interpreter under development that is intended to replace the current worker process for [Vere](../vere).
9+**Jaque** is a new [Nock](/docs/glossary/nock) interpreter under development that is intended to replace the current worker process for [Vere](/docs/glossary/vere).
1010
1111The current worker utilized by Vere is written in C, while Jaque is written using Java. The primary benefits of switching to Java are the ecosystem benefits and the fact that Java is more memory safe than C.
1212
content/docs/glossary/keyfile.md+2−2
@@ -6,9 +6,9 @@ template = "doc.html"
66category = "azimuth"
77+++
88
9−A **keyfile** is a piece of information used to associate a [ship](../ship) with an Urbit identity so that the ship can use the [Arvo](../arvo) network. A keyfile is dependent upon the [networking keys](../bridge) that have been set for the identity; we recommend using [Bridge](../bridge) to set the networking keys and to generate the corresponding keyfile.
9+A **keyfile** is a piece of information used to associate a [ship](/docs/glossary/ship) with an Urbit identity so that the ship can use the [Arvo](/docs/glossary/arvo) network. A keyfile is dependent upon the [networking keys](/docs/glossary/bridge) that have been set for the identity; we recommend using [Bridge](/docs/glossary/bridge) to set the networking keys and to generate the corresponding keyfile.
1010
11−The keyfile is used as an argument in the command line when booting a ship. During the boot process, [Vere](../vere) passes the keyfile into the Arvo state.
11+The keyfile is used as an argument in the command line when booting a ship. During the boot process, [Vere](/docs/glossary/vere) passes the keyfile into the Arvo state.
1212
1313### Further Reading
1414
content/docs/glossary/landscape.md+2−2
@@ -6,6 +6,6 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−**Landscape** is a graphical web interface for your [ship](../ship). Right now, Landscape allows for social networking functions, such as to participating in IRC-like chats such as `~/~dopzod/urbit-help`, subscribing to forum-like pages of other ships called Notebooks, and message other ships directly. It also has weather and clock apps. Landscape is an alternative messaging interface to the command-line app [Chat](../chat).
9+**Landscape** is a graphical web interface for your [ship](/docs/glossary/ship). Right now, Landscape allows for social networking functions, such as to participating in IRC-like chats such as `~/~dopzod/urbit-help`, subscribing to forum-like pages of other ships called Notebooks, and message other ships directly. It also has weather and clock apps. Landscape is an alternative messaging interface to the command-line app [Chat](/docs/glossary/chat).
1010
11−Landscape can be accessed with a browser via [ship.arvo.network](../shiparvonetwork) or by `localhost:80`. You'll be greeted with a login prompt; type `+code` into your [Dojo](../dojo), and use the output as your password.
11+Landscape can be accessed with a browser via [ship.arvo.network](/docs/glossary/shiparvonetwork) or by `localhost:80`. You'll be greeted with a login prompt; type `+code` into your [Dojo](/docs/glossary/dojo), and use the output as your password.
content/docs/glossary/mark.md+2−2
@@ -6,9 +6,9 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−A **mark** is a file-type in the [Clay](../clay) filesystem. A mark is a file that defines filesystem information such as type, merge routines, diff routines, and patch algorithms.
9+A **mark** is a file-type in the [Clay](/docs/glossary/clay) filesystem. A mark is a file that defines filesystem information such as type, merge routines, diff routines, and patch algorithms.
1010
11−The [Ford](../ford) [vane](../vane) converts data between marks and validates data into marks.
11+The [Ford](/docs/glossary/ford) [vane](/docs/glossary/vane) converts data between marks and validates data into marks.
1212
1313
1414### Further Reading
content/docs/glossary/moon.md+4−4
@@ -5,9 +5,9 @@ template = "doc.html"
55category = "arvo"
66+++
77
8−A **moon** is a kind of [ship](../ship) on the [Arvo](../arvo) network. Moons
9−are child identities issued by [planets](../planet), [stars](../stars), and
10−[galaxies](../galaxy). A moon is not independent; it is always subordinate to
8+A **moon** is a kind of [ship](/docs/glossary/ship) on the [Arvo](/docs/glossary/arvo) network. Moons
9+are child identities issued by [planets](/docs/glossary/planet), [stars](/docs/glossary/stars), and
10+[galaxies](/docs/glossary/galaxy). A moon is not independent; it is always subordinate to
1111the ship that issued it. By this we mean that the networking keys for the moon
1212are controlled by the parent, and may be altered or revoked at any time by that parent.
1313
@@ -21,7 +21,7 @@ Looking towards the future, we expect moons to also be utilized as identities
2121for devices, such as such as phones, desktops, smart TVs, and digital thermostats
2222
2323Unlike planets, stars, and galaxies, moons have no presence on
24−[Azimuth](../azimuth). Moons are representable with 64 bits and have long names
24+[Azimuth](/docs/glossary/azimuth). Moons are representable with 64 bits and have long names
2525like `~doznec-salfun-naptul-habrys`, the latter half of which is inherited from
2626their parent planet.
2727
content/docs/glossary/nock.md+3−3
@@ -4,13 +4,13 @@ title = "Nock"
44template = "doc.html"
55+++
66
7−**Nock** is a purely functional typeless programming language and acts as Urbit's lowest-level language. To be more precise, it is a Turing complete combinator interpreter not based on the lambda calculus. It could be thought of as the assembly-level language of Urbit, and is implemented by the runtime system [Vere](../vere).
7+**Nock** is a purely functional typeless programming language and acts as Urbit's lowest-level language. To be more precise, it is a Turing complete combinator interpreter not based on the lambda calculus. It could be thought of as the assembly-level language of Urbit, and is implemented by the runtime system [Vere](/docs/glossary/vere).
88
99[comment]: # ("combinator interpreter" is from the old glossary, but I don't know what is meant by this and there only seems to be a few uses of it online according to google, so maybe there is a better term we can use here, or give more of an explanation of what is meant by this? but maybe that is not appropriate for a glossary)
1010
11−The only basic data type in Nock is the [atom](../atom), which is a non-negative integer. Computation in Nock occurs through the use of [nouns](../noun) (e.g. binary trees whose leaves are atoms) utilized in three different manners: formulas, subjects, and products. A _formula_ is a noun utilized as a function that takes in a noun, its _subject_, and returns a noun, its _product_.
11+The only basic data type in Nock is the [atom](/docs/glossary/atom), which is a non-negative integer. Computation in Nock occurs through the use of [nouns](/docs/glossary/noun) (e.g. binary trees whose leaves are atoms) utilized in three different manners: formulas, subjects, and products. A _formula_ is a noun utilized as a function that takes in a noun, its _subject_, and returns a noun, its _product_.
1212
13−Code written in [Hoon](../hoon) is compiled to Nock, though it is unnecessary to learn Nock to write code in Hoon.
13+Code written in [Hoon](/docs/glossary/hoon) is compiled to Nock, though it is unnecessary to learn Nock to write code in Hoon.
1414
1515### Further Reading
1616
content/docs/glossary/noun.md+1−1
@@ -6,7 +6,7 @@ template = "doc.html"
66category = "hoon-nock"
77+++
88
9−A **noun** is an [atom](../atom) or a cell, which is an ordered pair of nouns. This definition is recursive and ultimately means that a noun is a finite size binary tree whose leaves are atoms. A noun is the basic data structure in [Nock](../nock).
9+A **noun** is an [atom](/docs/glossary/atom) or a cell, which is an ordered pair of nouns. This definition is recursive and ultimately means that a noun is a finite size binary tree whose leaves are atoms. A noun is the basic data structure in [Nock](/docs/glossary/nock).
1010
1111### Further Reading
1212
content/docs/glossary/ota-updates.md+1−1
@@ -6,4 +6,4 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−[Ships](../ship) have the ability to upgrade themselves **over the air**. They receive updates from a sponsor [star](../star) or [galaxy](../galaxy).
9+[Ships](/docs/glossary/ship) have the ability to upgrade themselves **over the air**. They receive updates from a sponsor [star](/docs/glossary/star) or [galaxy](/docs/glossary/galaxy).
content/docs/glossary/payload.md+1−1
@@ -6,7 +6,7 @@ template = "doc.html"
66category = "hoon-nock"
77+++
88
9−A **payload** is the set of data needed to run computations in a [core](../core)
9+A **payload** is the set of data needed to run computations in a [core](/docs/glossary/core)
1010
1111### Further Reading
1212
content/docs/glossary/ph.md+1−1
@@ -6,4 +6,4 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−**pH** is a [Gall](../gall) app that is a framework for fleet testing using [Aqua](../aqua). pH comes with a number of default tests, as well as tools for building and executing custom tests.
9+**pH** is a [Gall](/docs/glossary/gall) app that is a framework for fleet testing using [Aqua](/docs/glossary/aqua). pH comes with a number of default tests, as well as tools for building and executing custom tests.
content/docs/glossary/pier.md+3−3
@@ -5,14 +5,14 @@ template = "doc.html"
55category = "arvo"
66+++
77
8−A **pier** is the directory which contains the state of an Urbit [ship](../ship). It is automatically created in the current directory when booting a ship for the first time.
8+A **pier** is the directory which contains the state of an Urbit [ship](/docs/glossary/ship). It is automatically created in the current directory when booting a ship for the first time.
99
10−Your pier should be kept safe - if it's deleted, you will need to perform a [breach](../breach) in order to advise the rest of the network that your ship's state has been lost.
10+Your pier should be kept safe - if it's deleted, you will need to perform a [breach](/docs/glossary/breach) in order to advise the rest of the network that your ship's state has been lost.
1111
1212Note that a backup should usually _not_ be taken of your pier as a means of keeping it safe - once the ship is run on the network, the backup will be outdated and running from it will necessitate a breach. A running ship automatically backs up its own state within the pier directory for recovery purposes, so as long as the pier is preserved, recovery from most problems is possible.
1313
1414### Further Reading
1515
16−- [Event Log](../eventlog): The main important content of the pier directory.
16+- [Event Log](/docs/glossary/eventlog): The main important content of the pier directory.
1717- [A Guide to Breaches](/using/id/guide-to-breaches): Instructions on handling continuity breaches (resets) on the Ames network.
1818- [Ship Troubleshooting](/using/os/ship-troubleshooting): General instructions on getting your ship to work, which includes network connectivity issues.
content/docs/glossary/pill.md+3−3
@@ -6,9 +6,9 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−A **Pill** is a bootstrap sequence to launch an Urbit ship for the first time. The [event log](../eventlog) begins with the bootstrap sequence of a Pill.
9+A **Pill** is a bootstrap sequence to launch an Urbit ship for the first time. The [event log](/docs/glossary/eventlog) begins with the bootstrap sequence of a Pill.
1010
1111A Pill consists of three ordered lists:
12− * A list of events which are interpreted by Nock to create an [Arvo](../arvo) kernel.
12+ * A list of events which are interpreted by Nock to create an [Arvo](/docs/glossary/arvo) kernel.
1313 * A list of Arvo events to run once the Arvo kernel is created.
14− * A list of userspace events to run once the Arvo events have been run. Currently, this consists of setting up the [Clay](../clay) file system.
14+ * A list of userspace events to run once the Arvo events have been run. Currently, this consists of setting up the [Clay](/docs/glossary/clay) file system.
content/docs/glossary/planet.md+2−2
@@ -8,8 +8,8 @@ category = "arvo"
88
99A **planet** is can be one of two related things:
1010
11−- A kind of [Azimuth](../azimuth) Urbit identity that sits at the bottom of the identity hierarchy. Planets act as independent identities for use by individual humans as peers on the [Arvo](../arvo) network. Planets are issued by [stars](../star), and receive services such as peer-to-peer routing and [over-the-air software updates](../ota-updates) from the star that sponsors them.
11+- A kind of [Azimuth](/docs/glossary/azimuth) Urbit identity that sits at the bottom of the identity hierarchy. Planets act as independent identities for use by individual humans as peers on the [Arvo](/docs/glossary/arvo) network. Planets are issued by [stars](/docs/glossary/star), and receive services such as peer-to-peer routing and [over-the-air software updates](/docs/glossary/ota-updates) from the star that sponsors them.
1212
13−- A [ship](../ship) on the Arvo network whose identity is a planet in the former definition. Planets, in the second sense, have the power to issue [moons](../moon). Moons are Arvo ships that are meant for use with devices, are completely subordinated from their parent planet, and have no Azimuth presence.
13+- A [ship](/docs/glossary/ship) on the Arvo network whose identity is a planet in the former definition. Planets, in the second sense, have the power to issue [moons](/docs/glossary/moon). Moons are Arvo ships that are meant for use with devices, are completely subordinated from their parent planet, and have no Azimuth presence.
1414
1515Planets have addresses that are representable by 32 bits. This means that there are nearly 4.3 billion possible planets. Planets have four-syllable names like `~morzod-ballet` or `~rovnys-ricfer`.
content/docs/glossary/proxies.md+4−4
@@ -6,7 +6,7 @@ template = "doc.html"
66category = "azimuth"
77+++
88
9−**Proxies** are Ethereum addresses in the [Urbit HD Wallet](../hdwallet) system that have limited powers. They are lower-powered "siblings" of the ownership key, which has the sole power to transfer the assigned Urbit identity. Using [Bridge](../bridge), you can change the Ethereum addresses used for your proxies.
9+**Proxies** are Ethereum addresses in the [Urbit HD Wallet](/docs/glossary/hdwallet) system that have limited powers. They are lower-powered "siblings" of the ownership key, which has the sole power to transfer the assigned Urbit identity. Using [Bridge](/docs/glossary/bridge), you can change the Ethereum addresses used for your proxies.
1010
1111There are three types of proxy.
1212
@@ -16,14 +16,14 @@ The management proxy can configure or set Arvo networking keys and conduct spons
1616
1717- **Voting Proxy**
1818
19−The voting proxy can cast votes on behalf of its assigned point on new proposals, including changes to [Ecliptic](../ecliptic). The voting proxy is unique to [galaxies](../galaxy), since only power galaxies have seats in the Senate.
19+The voting proxy can cast votes on behalf of its assigned point on new proposals, including changes to [Ecliptic](/docs/glossary/ecliptic). The voting proxy is unique to [galaxies](/docs/glossary/galaxy), since only power galaxies have seats in the Senate.
2020
2121- **Spawn Proxy**
2222
23−Creates new child points given Ethereum address. For [stars](../stars) and [galaxies](../galaxy) only.
23+Creates new child points given Ethereum address. For [stars](/docs/glossary/stars) and [galaxies](/docs/glossary/galaxy) only.
2424
2525
2626### Further Reading
2727
28−- [Azimuth glossary page](../azimuth): The glossary entry for Azimuth.
28+- [Azimuth glossary page](/docs/glossary/azimuth): The glossary entry for Azimuth.
2929- [The Azimuth concepts page](/docs/azimuth/advanced-azimuth-tools): A more in-depth explanation of Azimuth, including information the storage of Urbit identities.
content/docs/glossary/replay.md+1−1
@@ -6,7 +6,7 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−**Replay** is how [Vere](../vere) computes the state of a ship's [Arvo](../arvo) instance from the [event log](../eventlog) after a ship reboots. In order to avoid replaying the entire event log, Replay takes a snapshot of the current state of the ship approximately once every ten minutes. Then when a ship reboots, Replay loads the most recent snapshot and replays events from the event log up to the most recent event.
9+**Replay** is how [Vere](/docs/glossary/vere) computes the state of a ship's [Arvo](/docs/glossary/arvo) instance from the [event log](/docs/glossary/eventlog) after a ship reboots. In order to avoid replaying the entire event log, Replay takes a snapshot of the current state of the ship approximately once every ten minutes. Then when a ship reboots, Replay loads the most recent snapshot and replays events from the event log up to the most recent event.
1010
1111### Further Reading
1212
content/docs/glossary/sailudon.md+2−2
@@ -8,6 +8,6 @@ category = "arvo"
88
99**Sail** and **Udon** are domain specific languages for Hoon.
1010
11−Sail is used to express XML data structures, which are used for rendering webpages, such as when browsing [collections](../collection) in [Landscape](../landscape).
11+Sail is used to express XML data structures, which are used for rendering webpages, such as when browsing [collections](/docs/glossary/collection) in [Landscape](/docs/glossary/landscape).
1212
13−Udon is similar to Markdown, a simple language for writing documents. Udon is stored in [Clay](../clay) and rendered using [Ford](../ford).
13+Udon is similar to Markdown, a simple language for writing documents. Udon is stored in [Clay](/docs/glossary/clay) and rendered using [Ford](/docs/glossary/ford).
content/docs/glossary/senate.md+5−5
@@ -6,9 +6,9 @@ template = "doc.html"
66category = "azimuth"
77+++
88
9−The **Galactic Senate** is the body of all [galaxies](../galaxy) that governs
10−[Azimuth](../azimuth) by [majority vote](../voting). There are two types of
11−votes: an [upgrade proposal](../upgrade), which is a motion to update the logic
12−of Azimuth (i.e. [Ecliptic](../ecliptic)), and a [document
13−proposal](../docvote), which is a motion to legitimize or approve the content of an
9+The **Galactic Senate** is the body of all [galaxies](/docs/glossary/galaxy) that governs
10+[Azimuth](/docs/glossary/azimuth) by [majority vote](/docs/glossary/voting). There are two types of
11+votes: an [upgrade proposal](/docs/glossary/upgrade), which is a motion to update the logic
12+of Azimuth (i.e. [Ecliptic](/docs/glossary/ecliptic)), and a [document
13+proposal](/docs/glossary/docvote), which is a motion to legitimize or approve the content of an
1414arbitrary document.
content/docs/glossary/ship.md+8−8
@@ -6,21 +6,21 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−A **ship** is an instance of an Urbit computer that is a peer on the [Arvo](../arvo) network.
9+A **ship** is an instance of an Urbit computer that is a peer on the [Arvo](/docs/glossary/arvo) network.
1010
1111A ship can be one of five classes:
1212
13−- [comets](../comet), disposable identities.
14−- [moons](../moon), connected devices subordinated to a ship.
15−- [planets](../planet), individual users.
16−- [stars](../star), network infrastructure nodes.
17−- [galaxy](../galaxy), also network infrastructure nodes.
13+- [comets](/docs/glossary/comet), disposable identities.
14+- [moons](/docs/glossary/moon), connected devices subordinated to a ship.
15+- [planets](/docs/glossary/planet), individual users.
16+- [stars](/docs/glossary/star), network infrastructure nodes.
17+- [galaxy](/docs/glossary/galaxy), also network infrastructure nodes.
1818
19−To be able to use the Arvo network, planets, stars, and galaxies must be combined with an [Azimuth](../azimuth)-based Urbit identity in the form of a [keyfile](../keyfile).
19+To be able to use the Arvo network, planets, stars, and galaxies must be combined with an [Azimuth](/docs/glossary/azimuth)-based Urbit identity in the form of a [keyfile](/docs/glossary/keyfile).
2020
2121### Further Reading
2222
2323- [Using Bridge](/getting-started/): A guide to installing Urbit and booting a ship.
2424- [Ship Troubleshooting](/using/os/ship-troubleshooting): General instructions on getting your ship to work, which includes network connectivity issues.
2525- [Understanding Urbit ID](/understanding-urbit/urbit-id)
26−- [Pier](../pier): The directory containing a ship's state.
26+- [Pier](/docs/glossary/pier): The directory containing a ship's state.
content/docs/glossary/shiparvonetwork.md+1−1
@@ -6,4 +6,4 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−**ship.arvo.network** is a way to connect to [ships](../ship) via HTTP utilizing DNS lookup. For example, the address for `~zod` would be `zod.arvo.network`.
9+**ship.arvo.network** is a way to connect to [ships](/docs/glossary/ship) via HTTP utilizing DNS lookup. For example, the address for `~zod` would be `zod.arvo.network`.
content/docs/glossary/star.md+3−3
@@ -6,12 +6,12 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−A **star** is the kind of Urbit identity that sits between the [galaxy](../galaxy) and [planets](../planet) in the identity hierarchy. Stars act as infrastructure for the [Arvo](../arvo) network, providing planets with [Ames](../ames)-related services, such as peer-to-peer routing and distributing [over-the-air software updates](../ota-updates). Stars rely on galaxies for these services in the way that planets rely on stars.
9+A **star** is the kind of Urbit identity that sits between the [galaxy](/docs/glossary/galaxy) and [planets](/docs/glossary/planet) in the identity hierarchy. Stars act as infrastructure for the [Arvo](/docs/glossary/arvo) network, providing planets with [Ames](/docs/glossary/ames)-related services, such as peer-to-peer routing and distributing [over-the-air software updates](/docs/glossary/ota-updates). Stars rely on galaxies for these services in the way that planets rely on stars.
1010
1111A **star** can be one of two related things:
1212
13−- A kind of [Azimuth](../azimuth) Urbit identity that sits between the [galaxy](../galaxy) and [planets](../planet) in the identity hierarchy. Stars, in this sense, have the power to issue [planets](../planet), and are themselves are issued by galaxies.
13+- A kind of [Azimuth](/docs/glossary/azimuth) Urbit identity that sits between the [galaxy](/docs/glossary/galaxy) and [planets](/docs/glossary/planet) in the identity hierarchy. Stars, in this sense, have the power to issue [planets](/docs/glossary/planet), and are themselves are issued by galaxies.
1414
15−- A [ship](../ship) on the Arvo network whose identity is a star in the former definition. In this sense, stars act as infrastructure for the [Arvo](../arvo) network, providing planets with [Ames](../ames)-related services, such as peer-to-peer routing and distributing [over-the-air software updates](../ota-updates). Stars rely on galaxies for these services in the way that planets rely on stars.
15+- A [ship](/docs/glossary/ship) on the Arvo network whose identity is a star in the former definition. In this sense, stars act as infrastructure for the [Arvo](/docs/glossary/arvo) network, providing planets with [Ames](/docs/glossary/ames)-related services, such as peer-to-peer routing and distributing [over-the-air software updates](/docs/glossary/ota-updates). Stars rely on galaxies for these services in the way that planets rely on stars.
1616
1717Stars have addresses that are representable by 16 bits. This means that there are 65,280 possible stars, and each of these stars is able to issue 65,535 planets. Stars have two-syllable names like `~taglux` or `~hallet`.
content/docs/glossary/sync.md+2−2
@@ -6,9 +6,9 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−**|sync** sets up a sychronization between two [Clay](../clay) [desks](../desk). It is mostly used to distribute kernel updates.
9+**|sync** sets up a sychronization between two [Clay](/docs/glossary/clay) [desks](/docs/glossary/desk). It is mostly used to distribute kernel updates.
1010
11−By default, in the [galaxy](../galaxy)/[star](../star)/[planet](../planet)/[moon](../moon) hierachy, the kids desk of the parent is synchronized with the base desk of the child.
11+By default, in the [galaxy](/docs/glossary/galaxy)/[star](/docs/glossary/star)/[planet](/docs/glossary/planet)/[moon](/docs/glossary/moon) hierachy, the kids desk of the parent is synchronized with the base desk of the child.
1212
1313
1414### Further Reading
content/docs/glossary/trap.md+1−1
@@ -6,7 +6,7 @@ template = "doc.html"
66category = "hoon-nock"
77+++
88
9−A **trap** is a [core](../core) with one arm named $ and no sample. They are often used in similar ways to looping structures in other programming languages.
9+A **trap** is a [core](/docs/glossary/core) with one arm named $ and no sample. They are often used in similar ways to looping structures in other programming languages.
1010
1111### Further Reading
1212
content/docs/glossary/upgrade.md+4−4
@@ -6,8 +6,8 @@ template = "doc.html"
66category = "azimuth"
77+++
88
9−An **upgrade proposal** is a type of [vote](../voting) action taken by the
10−[Galactic Senate](../senate) over [Azimuth](../azimuth). By passing an upgrade
11−proposal, [Galaxies](../galaxy) in the Senate agree to change the
12−[Ecliptic](../ecliptic) smart contracts.
9+An **upgrade proposal** is a type of [vote](/docs/glossary/voting) action taken by the
10+[Galactic Senate](/docs/glossary/senate) over [Azimuth](/docs/glossary/azimuth). By passing an upgrade
11+proposal, [Galaxies](/docs/glossary/galaxy) in the Senate agree to change the
12+[Ecliptic](/docs/glossary/ecliptic) smart contracts.
1313
content/docs/glossary/vane.md+10−10
@@ -6,18 +6,18 @@ template = "doc.html"
66category = "arvo"
77+++
88
9−A **vane** is an [Arvo](../arvo) kernel module that performs essential system operations. The vanes are:
9+A **vane** is an [Arvo](/docs/glossary/arvo) kernel module that performs essential system operations. The vanes are:
1010
1111
12−- [Ames](../ames), the peer-to-peer networking vane.
13−- [Behn](../behn), the timer vane.
14−- [Clay](../clay), the filesystem and revision-control vane.
15−- [Dill](../dill), the terminal-driver vane.
16−- [Eyre](../eyre), the HTTP vane.
17−- [Ford](../ford), the build-system vane.
18−- [Gall](../gall), the application vane.
19−- [Iris](../iris), the server HTTP vane.
20−- [Jael](../jael), the security vane.
12+- [Ames](/docs/glossary/ames), the peer-to-peer networking vane.
13+- [Behn](/docs/glossary/behn), the timer vane.
14+- [Clay](/docs/glossary/clay), the filesystem and revision-control vane.
15+- [Dill](/docs/glossary/dill), the terminal-driver vane.
16+- [Eyre](/docs/glossary/eyre), the HTTP vane.
17+- [Ford](/docs/glossary/ford), the build-system vane.
18+- [Gall](/docs/glossary/gall), the application vane.
19+- [Iris](/docs/glossary/iris), the server HTTP vane.
20+- [Jael](/docs/glossary/jael), the security vane.
2121
2222### Further Reading
2323
content/docs/glossary/vere.md+3−3
@@ -6,11 +6,11 @@ template = "doc.html"
66category = "hoon-nock"
77+++
88
9−**Vere**, pronounced "Vair", is the [Nock](../nock) runtime environment and Urbit virtual machine. Vere is written in C, runs on Unix, and is the intermediate layer between your urbit and Unix. Unix system calls are made by Vere, not Arvo; Vere must also encode and deliver relevant external events to [Arvo](../arvo). Vere is also responsible for implementing jets and maintaining the persistent state of each urbit (computed as a pure function of its [event log](../eventlog) with [Replay](../replay)). It also contains the I/O drivers for Urbit’s vanes, which are responsible for generating events from Unix and applying effects to Unix.
9+**Vere**, pronounced "Vair", is the [Nock](/docs/glossary/nock) runtime environment and Urbit virtual machine. Vere is written in C, runs on Unix, and is the intermediate layer between your urbit and Unix. Unix system calls are made by Vere, not Arvo; Vere must also encode and deliver relevant external events to [Arvo](/docs/glossary/arvo). Vere is also responsible for implementing jets and maintaining the persistent state of each urbit (computed as a pure function of its [event log](/docs/glossary/eventlog) with [Replay](/docs/glossary/replay)). It also contains the I/O drivers for Urbit’s vanes, which are responsible for generating events from Unix and applying effects to Unix.
1010
11−When you boot your [ship](../ship), Vere passes your [Azimuth](../azimuth) [keyfile](../keyfile) into the Arvo state, allowing a connection to the [Ames](../ames) network.
11+When you boot your [ship](/docs/glossary/ship), Vere passes your [Azimuth](/docs/glossary/azimuth) [keyfile](/docs/glossary/keyfile) into the Arvo state, allowing a connection to the [Ames](/docs/glossary/ames) network.
1212
13−Vere consists of two processes that communicate via a socket: a daemon process in charge of managing I/O channels, and a worker process that acts as a Nock interpreter that is instructed by the daemon process. Currently the worker is written in C, but a new worker written in Java, called [Jacque](../jacque), is under development.
13+Vere consists of two processes that communicate via a socket: a daemon process in charge of managing I/O channels, and a worker process that acts as a Nock interpreter that is instructed by the daemon process. Currently the worker is written in C, but a new worker written in Java, called [Jacque](/docs/glossary/jacque), is under development.
1414
1515### Further Reading
1616
content/docs/glossary/voting.md+4−4
@@ -6,11 +6,11 @@ template = "doc.html"
66category = "azimuth"
77+++
88
9−**Voting** is a power available to [galaxies](../galaxy), in their capacities as
10−members of the [Galactic Senate](../senate), through an [Azimuth](../azimuth)
9+**Voting** is a power available to [galaxies](/docs/glossary/galaxy), in their capacities as
10+members of the [Galactic Senate](/docs/glossary/senate), through an [Azimuth](/docs/glossary/azimuth)
1111smart contract. Galaxies collectively make decisions about the governance of
12−Azimuth and the [Arvo](../arvo) network by voting. There are two types of proposals that can be voted on:
13−an [upgrade proposal](../upgrade) and a [document proposal](../docvote).
12+Azimuth and the [Arvo](/docs/glossary/arvo) network by voting. There are two types of proposals that can be voted on:
13+an [upgrade proposal](/docs/glossary/upgrade) and a [document proposal](/docs/glossary/docvote).
1414
1515A proposal is always a Yes/No vote. The vote concludes at the end of 30 days,
1616or whenever an absolute majority is reached, whichever comes first. Assuming a
content/docs/glossary/wallet-generator.md+1−1
@@ -6,6 +6,6 @@ template = "doc.html"
66category = "azimuth"
77+++
88
9−The **Wallet Generator** is a planned open-source app developed for generating an [Urbit HD Wallet](../hdwallet) to secure your [Azimuth](../Azimuth) identities. Wallet Generator will be part of the [Bridge](../bridge) software, and it's a graphical user interface that handles the entire process of creating a new [Urbit HD Wallet](../hdwallet), starting with the entropy-creation step.
9+The **Wallet Generator** is a planned open-source app developed for generating an [Urbit HD Wallet](/docs/glossary/hdwallet) to secure your [Azimuth](/docs/glossary/azimuth) identities. Wallet Generator will be part of the [Bridge](/docs/glossary/bridge) software, and it's a graphical user interface that handles the entire process of creating a new [Urbit HD Wallet](/docs/glossary/hdwallet), starting with the entropy-creation step.
1010
1111The Wallet Generator must be used offline for security reasons. If an internet connection is detected at any time, the program will end, forcing the user to start from the beginning. As a final step, Wallet Generator will produce PDF files containing all of the aforementioned seeds, as well as a PDF that contains ownership Ethereum public addresses for receiving ships.
content/docs/hoon/hoon-school/doors.md+1−1
@@ -408,7 +408,7 @@ In the above example we created a door `c` with sample `b=@` and found that the
408408 ++ greater |=(a=@ (gth a b))
409409 --
410410```
411−Here the type of `b` is inferred to be `@` based on the example value `7`, similar to how we've seen casting done by example. You will learn more about how types are inferred in [Lesson 2.2](@docs/hoon/hoon-school/type-checking-and-type-inference.md).
411+Here the type of `b` is inferred to be `@` based on the example value `7`, similar to how we've seen casting done by example. You will learn more about how types are inferred in [Lesson 2.2](@docs/hoon/hoon-school/type-checking-and-type-inference).
412412
413413### Doors in the Hoon Standard Library
414414
content/docs/hoon/hoon-school/list-of-numbers.md+1−1
@@ -129,4 +129,4 @@ Our program works by having each iteration of the list creating a cell. In each
129129 4 ~
130130```
131131
132−If you still don't intuit how this is working, don't worry. We'll take a deeper look into recursion later with our [Recursion Walkthrough](../recursion).
132+If you still don't intuit how this is working, don't worry. We'll take a deeper look into recursion later with our [Recursion Walkthrough](/docs/hoon/hoon-school/recursion).
content/docs/hoon/reference/irregular.md+5−5
@@ -204,7 +204,7 @@ Lets us adjust types without violating type constraints.
204204
205205### `^:` ketcol
206206
207−[docs](@/docs/hoon/reference/rune/ket.md#ketcol) \\,
207+[docs](/docs/hoon/reference/rune/ket#ketcol) \\,
208208
209209`[%ktcl p=spec]`: mold gate for type `p`.
210210
@@ -224,7 +224,7 @@ Irregular: `` `p`q ``
224224
225225### `^*` kettar
226226
227−[docs](@/docs/hoon/reference/rune/ket.md#kettar) \\\*
227+[docs](/docs/hoon/reference/rune/ket#kettar) \\\*
228228
229229`[%kttr p=spec]`: produce bunt value of mold.
230230
@@ -294,14 +294,14 @@ See [%sand](/docs/hoon/reference/rune/constants#warm) for other irregular defini
294294
295295### Wings
296296
297−[docs](content/docs/hoon/reference/limbs/wing.md)
297+[docs](content/docs/hoon/reference/limbs/wing)
298298`[%wing p=(list limb)]`; a limb search path.
299299`a.b` finds limb `a` within limb `b` ("var" `a` within "var" `b`).
300300
301301### Printing stuff
302302
303−- `<a b c>` prints a [tape](../library/2q/#-tape).
304−- `>a b c<` prints a [tank](../library/2q/#-tank).
303+- `<a b c>` prints a [tape](/docs/hoon/reference/stdlib/2q/#-tape).
304+- `>a b c<` prints a [tank](/docs/hoon/reference/stdlib/2q/#-tank).
305305
306306## Commentary
307307
content/docs/hoon/reference/stdlib/3d.md+2−2
@@ -230,7 +230,7 @@ byte-string.
230230128-bit noun hash
231231
232232Produces a 128-bit atom by hashing a noun `yux` with the `shah` function. If
233−that noun is a cell, then it is passed to the [`jam`](../2p) function to produce
233+that noun is a cell, then it is passed to the [`jam`](/docs/hoon/reference/stdlib/2p) function to produce
234234an atom to be hashed.
235235
236236#### Accepts
@@ -818,4 +818,4 @@ Since everything in Hoon is a pure function, we need to use tricks like this to
818818generate separate random values from the same seed. Notice how we jump from
819819one `raws` function call to another in the above example.
820820
821−---
821+---
content/docs/hoon/reference/stdlib/table-of-contents.md+788−788
@@ -14,63 +14,63 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
1414### a
1515
1616<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#ab' title="Primitive parser engine"><code>++ab</code></a>
17−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#abs-fl' title="Absolute value"><code>++abs:fl</code></a>
18−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#abs-si' title="Absolute value (signed integer)"><code>++abs:si</code></a>
17+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#absfl' title="Absolute value"><code>++abs:fl</code></a>
18+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#abssi' title="Absolute value (signed integer)"><code>++abs:si</code></a>
1919<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#abel' title="Compiler alias"><code>++abel</code></a>
2020<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#ace' title="Parse space"><code>++ace</code></a>
2121<a class="tooltip" href='/docs/hoon/reference/stdlib/1a/#add' title="Add"><code>++add</code></a>
22−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#add-ff' title="Add (floating point)"><code>++add:ff</code></a>
23−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#add-fl' title="Add (with exact/rounded flag)"><code>++add:fl</code></a>
24−<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#add-ja' title="Prepend to list"><code>++add:ja</code></a>
25−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#add-rd' title="Add (double-precision float)"><code>++add:rd</code></a>
26−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#add-rh' title="Add (half-precision float)"><code>++add:rh</code></a>
27−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#add-rs' title="Add (single-precision float)"><code>++add:rs</code></a>
28−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#add-rq' title="Add (quad-precision float)"><code>++add:rq</code></a>
29−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#ag' title="Top-level atom parser engine"><code>++ag</code></a>
22+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#addff' title="Add (floating point)"><code>++add:ff</code></a>
23+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#addfl' title="Add (with exact/rounded flag)"><code>++add:fl</code></a>
24+<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#addja' title="Prepend to list"><code>++add:ja</code></a>
25+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#addrd' title="Add (doubleprecision float)"><code>++add:rd</code></a>
26+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#addrh' title="Add (halfprecision float)"><code>++add:rh</code></a>
27+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#addrs' title="Add (singleprecision float)"><code>++add:rs</code></a>
28+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#addrq' title="Add (quadprecision float)"><code>++add:rq</code></a>
29+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#ag' title="Toplevel atom parser engine"><code>++ag</code></a>
3030<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#alf' title="Parse alphabetic characters"><code>++alf</code></a>
31−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#all-by' title="Logical AND (map and wet gate)"><code>++all:by</code></a>
32−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#all-in' title="Logical AND (set and wet gate)"><code>++all:in</code></a>
31+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#allby' title="Logical AND (map and wet gate)"><code>++all:by</code></a>
32+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#allin' title="Logical AND (set and wet gate)"><code>++all:in</code></a>
3333<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#aln' title="Parse alphanumeric characters"><code>++aln</code></a>
34−<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#alp' title="Parse alphanumeric characters and -"><code>++alp</code></a>
35−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#any-by' title="Logical OR (map and wet gate)"><code>++any:by</code></a>
36−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#any-in' title="Logical OR (set and gate)"><code>++any:in</code></a>
34+<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#alp' title="Parse alphanumeric characters and "><code>++alp</code></a>
35+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#anyby' title="Logical OR (map and wet gate)"><code>++any:by</code></a>
36+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#anyin' title="Logical OR (set and gate)"><code>++any:in</code></a>
3737<a class="tooltip" href='/docs/hoon/reference/stdlib/2f/#aor' title="Alphabetical order"><code>++aor</code></a>
38−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#ape-ag' title="Parse 0 or rule"><code>++ape:ag</code></a>
39−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#apt-by' title="Check correctness (map)"><code>++apt:by</code></a>
40−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#apt-in' title="Check correctness (set)"><code>++apt:in</code></a>
38+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#apeag' title="Parse 0 or rule"><code>++ape:ag</code></a>
39+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#aptby' title="Check correctness (map)"><code>++apt:by</code></a>
40+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#aptin' title="Check correctness (set)"><code>++apt:in</code></a>
4141<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#at' title="(Undocumented)"><code>++at</code></a>
4242<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#aura' title="'Type' of atom"><code>++aura</code></a>
4343<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#axis' title="Nock axis"><code>++axis</code></a>
4444
4545### b
4646
47−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#bal-to' title="Balance queue"><code>++bal:to</code></a>
47+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#balto' title="Balance queue"><code>++bal:to</code></a>
4848<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#bar' title="Parse | (bar)"><code>++bar</code></a>
4949<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#bas' title="Parse \ (bas)"><code>++bas</code></a>
5050<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#base' title="Base type"><code>++base</code></a>
51−<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#bass' title="Parser modifier (LSB-ordered ++list as atom of ++base)"><code>++bass</code></a>
52−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#bay-ag' title="Parses binary number"><code>++bay:ag</code></a>
51+<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#bass' title="Parser modifier (LSBordered ++list as atom of ++base)"><code>++bass</code></a>
52+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#bayag' title="Parses binary number"><code>++bay:ag</code></a>
5353<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#bean' title="Boolean"><code>++bean</code></a>
5454<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#beer' title="Tape builder"><code>++beer</code></a>
5555<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#beet' title="XML interpolation cases"><code>++beet</code></a>
5656<a class="tooltip" href='/docs/hoon/reference/stdlib/4e/#bend' title="Conditional composer"><code>++bend</code></a>
5757<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#bet' title="Parse hep and lus axis syntax"><code>++bet</code></a>
5858<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#bex' title="Binary exponent"><code>++bex</code></a>
59−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bif-ff' title="Converts from fn to @r"><code>++bif:ff</code></a>
60−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#bif-by' title="Bifurcate map"><code>++bif:by</code></a>
61−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#bif-in' title="Bifurcate set"><code>++bif:in</code></a>
59+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bifff' title="Converts from fn to @r"><code>++bif:ff</code></a>
60+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#bifby' title="Bifurcate map"><code>++bif:by</code></a>
61+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#bifin' title="Bifurcate set"><code>++bif:in</code></a>
6262<a class="tooltip" href='/docs/hoon/reference/stdlib/2a/#biff' title="Unit as argument"><code>++biff</code></a>
6363<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#bin' title="Binary to atom"><code>++bin</code></a>
64−<a class="tooltip" href='/docs/hoon/reference/stdlib/2a/#bind' title="Non-unit function to unit, producing unit"><code>++bind</code></a>
65−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#bip-ag' title="Parse IPv6"><code>++bip:ag</code></a>
66−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bit-ff' title="fn to @r with rounding"><code>++bit:ff</code></a>
67−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bit-rd' title="fn to double-precision binary float"><code>++bit:rd</code></a>
68−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bit-rh' title="fn to half-precision float"><code>++bit:rh</code></a>
69−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bit-rs' title="fn to single-precision float"><code>++bit:rs</code></a>
70−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bit-rq' title="fn to quad-precision float"><code>++bit:rq</code></a>
64+<a class="tooltip" href='/docs/hoon/reference/stdlib/2a/#bind' title="Nonunit function to unit, producing unit"><code>++bind</code></a>
65+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#bipag' title="Parse IPv6"><code>++bip:ag</code></a>
66+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bitff' title="fn to @r with rounding"><code>++bit:ff</code></a>
67+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bitrd' title="fn to doubleprecision binary float"><code>++bit:rd</code></a>
68+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bitrh' title="fn to halfprecision float"><code>++bit:rh</code></a>
69+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bitrs' title="fn to singleprecision float"><code>++bit:rs</code></a>
70+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bitrq' title="fn to quadprecision float"><code>++bit:rq</code></a>
7171<a class="tooltip" href='/docs/hoon/reference/stdlib/1c/#bite' title="Atom slice specificier"><code>$bite</code></a>
72−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#bix-ab' title="Parse hex pair"><code>++bix:ab</code></a>
73−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#bisk-so' title="Parse aura-atom pair"><code>++bisk:so</code></a>
72+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#bixab' title="Parse hex pair"><code>++bix:ab</code></a>
73+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#biskso' title="Parse auraatom pair"><code>++bisk:so</code></a>
7474<a class="tooltip" href='/docs/hoon/reference/stdlib/1c/#bloq' title="Blocksize"><code>$bloq</code></a>
7575<a class="tooltip" href='/docs/hoon/reference/stdlib/2a/#bond' title="Replace null"><code>++bond</code></a>
7676<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#boss' title="Parser modifier: LSB"><code>++boss</code></a>
@@ -86,105 +86,105 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
8686<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#cass' title="To lowercase"><code>++cass</code></a>
8787<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#cat' title="Concatenate"><code>++cat</code></a>
8888<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#cen' title="Parse % (cen)"><code>++cen</code></a>
89−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#cet-yo' title="Days in a century"><code>++cet:yo</code></a>
89+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#cetyo' title="Days in a century"><code>++cet:yo</code></a>
9090<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#char' title="Character"><code>++char</code></a>
9191<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#chum' title="Jet hint information"><code>++chum</code></a>
9292<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#cit' title="Octal digit"><code>++cit</code></a>
9393<a class="tooltip" href='/docs/hoon/reference/stdlib/2a/#clap' title="Apply function to two units"><code>++clap</code></a>
94−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#cmp-si' title="Compare (signed integer)"><code>++cmp:si</code></a>
94+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#cmpsi' title="Compare (signed integer)"><code>++cmp:si</code></a>
9595<a class="tooltip" href='/docs/hoon/reference/stdlib/4k/#co' title="Literal rendering engine"><code>++co</code></a>
9696<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#coil' title="Tuple of core information"><code>++coil</code></a>
97−<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#coin' title="Noun-literal syntax cases"><code>++coin</code></a>
97+<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#coin' title="Nounliteral syntax cases"><code>++coin</code></a>
9898<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#col' title="Parse : (col)"><code>++col</code></a>
9999<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#cold' title="Replace with constant"><code>++cold</code></a>
100100<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#com' title="Parse , (com)"><code>++com</code></a>
101101<a class="tooltip" href='/docs/hoon/reference/stdlib/4e/#comp' title="Arbitrary compose"><code>++comp</code></a>
102102<a class="tooltip" href='/docs/hoon/reference/stdlib/2d/#con' title="Binary OR"><code>++con</code></a>
103103<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#cook' title="Apply gate"><code>++cook</code></a>
104−<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#cord' title="UTF-8 text"><code>++cord</code></a>
104+<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#cord' title="UTF8 text"><code>++cord</code></a>
105105<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#cork' title="Compose forward"><code>++cork</code></a>
106106<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#corl' title="Compose backward"><code>++corl</code></a>
107107<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#crip' title="Tape to cord"><code>++crip</code></a>
108−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#crub-so' title="Parse @da, @dr, @p, @t"><code>++crub:so</code></a>
108+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#crubso' title="Parse @da, @dr, @p, @t"><code>++crub:so</code></a>
109109<a class="tooltip" href='/docs/hoon/reference/stdlib/2p/#cue' title="Unpack atom to noun"><code>++cue</code></a>
110−<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#curr' title="Right-curry a gate"><code>++curr</code></a>
110+<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#curr' title="Rightcurry a gate"><code>++curr</code></a>
111111<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#cury' title="Curry left a gate"><code>++cury</code></a>
112112<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#cuss' title="To uppercase"><code>++cuss</code></a>
113113<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#cut' title="Slice"><code>++cut</code></a>
114114
115115### d
116116
117−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#d-ne' title="Render decimal"><code>++d:ne</code></a>
117+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#dne' title="Render decimal"><code>++d:ne</code></a>
118118<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#date' title="Point in time"><code>++date</code></a>
119−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#day-yo' title="Seconds in day"><code>++day:yo</code></a>
119+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#dayyo' title="Seconds in day"><code>++day:yo</code></a>
120120<a class="tooltip" href='/docs/hoon/reference/stdlib/1a/#dec' title="Decrement"><code>++dec</code></a>
121−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#del-by' title="Delete (map)"><code>++del:by</code></a>
122−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#del-in' title="Delete (set)"><code>++del:in</code></a>
123−<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#del-ju' title="Delete (jug)"><code>++del:ju</code></a>
121+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#delby' title="Delete (map)"><code>++del:by</code></a>
122+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#delin' title="Delete (set)"><code>++del:in</code></a>
123+<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#delju' title="Delete (jug)"><code>++del:ju</code></a>
124124<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#dem' title="Decimal to atom"><code>++dem</code></a>
125−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#dem-ag' title="Parse decmal with dots"><code>++dem:ag</code></a>
126−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#den-fl' title="Denormalizes (floating point)"><code>++den:fl</code></a>
127−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#dep-to' title="Maximum depth (queue)"><code>++dep:to</code></a>
128−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#dif-fe' title="Difference between atoms (modular basis)"><code>++dif:fe</code></a>
129−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#dif-fo' title='Subtraction (modular base)'><code>++dif:fo</code></a>
130−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#dif-in' title='Difference (set)'><code>++dif:in</code></a>
131−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#dif-si' title="Subtraction (signed integer)"><code>++dif:si</code></a>
132−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#dig-by' title="Address of key (map)"><code>++dig:by</code></a>
133−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#dig-in' title="Address of a in set"><code>++dig:in</code></a>
134−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#dim-ag' title="Parse decimal number"><code>++dim:ag</code></a>
135−<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#dime' title="Aura-atom pair"><code>++dime</code></a>
136−<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#din-re' title="(Undocumented)"><code>++din:re</code></a>
125+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#demag' title="Parse decmal with dots"><code>++dem:ag</code></a>
126+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#denfl' title="Denormalizes (floating point)"><code>++den:fl</code></a>
127+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#depto' title="Maximum depth (queue)"><code>++dep:to</code></a>
128+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#diffe' title="Difference between atoms (modular basis)"><code>++dif:fe</code></a>
129+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#diffo' title='Subtraction (modular base)'><code>++dif:fo</code></a>
130+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#difin' title='Difference (set)'><code>++dif:in</code></a>
131+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#difsi' title="Subtraction (signed integer)"><code>++dif:si</code></a>
132+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#digby' title="Address of key (map)"><code>++dig:by</code></a>
133+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#digin' title="Address of a in set"><code>++dig:in</code></a>
134+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#dimag' title="Parse decimal number"><code>++dim:ag</code></a>
135+<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#dime' title="Auraatom pair"><code>++dime</code></a>
136+<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#dinre' title="(Undocumented)"><code>++din:re</code></a>
137137<a class="tooltip" href='/docs/hoon/reference/stdlib/2d/#dis' title="Binary AND (atoms)"><code>++dis</code></a>
138138<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#dit' title="Decimal digit"><code>++dit</code></a>
139139<a class="tooltip" href='/docs/hoon/reference/stdlib/1a/#div' title="Divide"><code>++div</code></a>
140−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#div-ff' title="Divide (IEEE float)"><code>++div:ff</code></a>
141−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#div-fl' title="Divide (signed and unsigned integer cell)"><code>++div:fl</code></a>
142−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#div-rd' title="Double precision float"><code>++div:rd</code></a>
143−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#div-rh' title="Divide (half-precision float)"><code>++div:rh</code></a>
144−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#div-rs' title="Divide (single-precision float)"><code>++div:rs</code></a>
145−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#div-rq' title="Divide (quad-precision float)"><code>++div:rq</code></a>
140+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#divff' title="Divide (IEEE float)"><code>++div:ff</code></a>
141+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#divfl' title="Divide (signed and unsigned integer cell)"><code>++div:fl</code></a>
142+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#divrd' title="Double precision float"><code>++div:rd</code></a>
143+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#divrh' title="Divide (halfprecision float)"><code>++div:rh</code></a>
144+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#divrs' title="Divide (singleprecision float)"><code>++div:rs</code></a>
145+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#divrq' title="Divide (quadprecision float)"><code>++div:rq</code></a>
146146<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#dog' title="Optional gap"><code>++dog</code></a>
147147<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#doh' title="@p separator"><code>++doh</code></a>
148148<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#doq' title="Parse double quote"><code>++doq</code></a>
149149<a class="tooltip" href='/docs/hoon/reference/stdlib/2f/#dor' title="Numeric order"><code>++dor</code></a>
150150<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#dot' title="Parse period"><code>++dot</code></a>
151−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drg-ff' title="@r to decimal float"><code>++drg:ff</code></a>
152−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drg-fl' title="Get printable decimal (signed and unsigned integer cell)"><code>++drg:fl</code></a>
153−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drg-rd' title="@rd to decimal float"><code>++drg:rd</code></a>
154−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drg-rh' title="@rh to decimal float"><code>++drg:rh</code></a>
155−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drg-rs' title="@rs to decimal float"><code>++drg:rs</code></a>
156−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drg-rq' title="@rq to decimal float"><code>++drg:rq</code></a>
151+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drgff' title="@r to decimal float"><code>++drg:ff</code></a>
152+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drgfl' title="Get printable decimal (signed and unsigned integer cell)"><code>++drg:fl</code></a>
153+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drgrd' title="@rd to decimal float"><code>++drg:rd</code></a>
154+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drgrh' title="@rh to decimal float"><code>++drg:rh</code></a>
155+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drgrs' title="@rs to decimal float"><code>++drg:rs</code></a>
156+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drgrq' title="@rq to decimal float"><code>++drg:rq</code></a>
157157<a class="tooltip" href='/docs/hoon/reference/stdlib/2a/#drop' title="Unit to list"><code>++drop</code></a>
158−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#dul-si' title="Modulus (signed integer)"><code>++dul:si</code></a>
159−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#dum-ag' title="Parse decimal with leading zero"><code>++dum:ag</code></a>
160−<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#dun' title="-- to ~"><code>++dun</code></a>
158+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#dulsi' title="Modulus (signed integer)"><code>++dul:si</code></a>
159+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#dumag' title="Parse decimal with leading zero"><code>++dum:ag</code></a>
160+<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#dun' title=" to ~"><code>++dun</code></a>
161161<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#duz' title="== to ~"><code>++duz</code></a>
162162<a class="tooltip" href='/docs/hoon/reference/stdlib/1a/#dvr' title="Divide (with remainder)"><code>++dvr</code></a>
163163
164164### e
165165
166−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#ead-fl' title="Exact add"><code>++ead:fl</code></a>
166+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#eadfl' title="Exact add"><code>++ead:fl</code></a>
167167<a class="tooltip" href='/docs/hoon/reference/stdlib/1c/#each' title="Mold of fork between two types"><code>++each</code></a>
168168<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#easy' title="Always parse"><code>++easy</code></a>
169169<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#edge' title="Parsing location metadata"><code>++edge</code></a>
170170<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#egcd' title="Extended Euclidean algorithm"><code>++egcd</code></a>
171−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#emn-fl' title="Minimum exponent"><code>++emn:fl</code></a>
172−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#emu-fl' title="Exact multiply"><code>++emu:fl</code></a>
173−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#emx-fl' title="Maximum exponent"><code>++emx:fl</code></a>
171+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#emnfl' title="Minimum exponent"><code>++emn:fl</code></a>
172+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#emufl' title="Exact multiply"><code>++emu:fl</code></a>
173+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#emxfl' title="Maximum exponent"><code>++emx:fl</code></a>
174174<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#end' title="Tail"><code>++end</code></a>
175−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equ-ff' title="Equals (IEEE float)"><code>++equ:ff</code></a>
176−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equ-fl' title="Equals (signed and unsigned integer cell)"><code>++equ:fl</code></a>
177−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equ-rd' title="Equals (double-precision float)"><code>++equ:rd</code></a>
178−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equ-rh' title="Equals (half-precision float)"><code>++equ:rh</code></a>
179−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equ-rs' title="Equals (single-precision float)"><code>++equ:rs</code></a>
180−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equ-rq' title="Equals (quad-precision float)"><code>++equ:rq</code></a>
181−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#era-yo' title="Leap-year period"><code>++era:yo</code></a>
182−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exp-ff' title="Get exponent (IEEE float)"><code>++exp:ff</code></a>
183−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#exp-fo' title="Exponent (modular base)"><code>++exp:fo</code></a>
184−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exp-rd' title="Exponent (@rd)"><code>++exp:rd</code></a>
185−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exp-rh' title="Exponent (half-precision float)"><code>++exp:rh</code></a>
186−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exp-rs' title="Exponent (@rs)"><code>++exp:rs</code></a>
187−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exp-rq' title="Exponent (quad-precision float)"><code>++exp:rq</code></a>
175+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equff' title="Equals (IEEE float)"><code>++equ:ff</code></a>
176+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equfl' title="Equals (signed and unsigned integer cell)"><code>++equ:fl</code></a>
177+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equrd' title="Equals (doubleprecision float)"><code>++equ:rd</code></a>
178+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equrh' title="Equals (halfprecision float)"><code>++equ:rh</code></a>
179+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equrs' title="Equals (singleprecision float)"><code>++equ:rs</code></a>
180+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equrq' title="Equals (quadprecision float)"><code>++equ:rq</code></a>
181+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#erayo' title="Leapyear period"><code>++era:yo</code></a>
182+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#expff' title="Get exponent (IEEE float)"><code>++exp:ff</code></a>
183+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#expfo' title="Exponent (modular base)"><code>++exp:fo</code></a>
184+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exprd' title="Exponent (@rd)"><code>++exp:rd</code></a>
185+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exprh' title="Exponent (halfprecision float)"><code>++exp:rh</code></a>
186+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exprs' title="Exponent (@rs)"><code>++exp:rs</code></a>
187+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exprq' title="Exponent (quadprecision float)"><code>++exp:rq</code></a>
188188
189189### f
190190
@@ -193,27 +193,27 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
193193<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#fand' title="All indices in list"><code>++fand</code></a>
194194<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#fas' title="Parse / (fas)"><code>++fas</code></a>
195195<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#fe' title="Modulo bloq"><code>++fe</code></a>
196−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#fed-ag' title="Parse @p"><code>++fed:ag</code></a>
197−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#feen-ob' title="Conceal structure v2"><code>++feen:ob</code></a>
198−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#fend-ob' title="Restore structure v2"><code>++fend:ob</code></a>
199−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#fice-ob' title="Feistel-like cipher"><code>++fice:ob</code></a>
196+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#fedag' title="Parse @p"><code>++fed:ag</code></a>
197+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#feenob' title="Conceal structure v2"><code>++feen:ob</code></a>
198+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#fendob' title="Restore structure v2"><code>++fend:ob</code></a>
199+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#ficeob' title="Feistellike cipher"><code>++fice:ob</code></a>
200200<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#fil' title="Fill bloqstream"><code>++fil</code></a>
201201<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#find' title="First index in list"><code>++find</code></a>
202−<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#fit-re' title="Fit on one line test"><code>++fit:re</code></a>
203−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fli-fl' title="Flip sign"><code>++fli:fl</code></a>
202+<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#fitre' title="Fit on one line test"><code>++fit:re</code></a>
203+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#flifl' title="Flip sign"><code>++fli:fl</code></a>
204204<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#flop' title="Reverse list"><code>++flop</code></a>
205−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fma-ff' title="Fused multiply-add (IEEE float)"><code>++fma:ff</code></a>
206−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fma-fl' title="Fused multiply-add"><code>++fma:fl</code></a>
207−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fma-rd' title="Fused multiply-add (@rd)"><code>++fma:rd</code></a>
208−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fma-rh' title="Fused multiply-add (half-precision float)"><code>++fma:rh</code></a>
209−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fma-rs' title="Fused multiply-add (single-precision float)"><code>++fma:rs</code></a>
210−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fma-rq' title="Fused multiply-add (quad-precision float)"><code>++fma:rq</code></a>
205+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fmaff' title="Fused multiplyadd (IEEE float)"><code>++fma:ff</code></a>
206+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fmafl' title="Fused multiplyadd"><code>++fma:fl</code></a>
207+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fmard' title="Fused multiplyadd (@rd)"><code>++fma:rd</code></a>
208+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fmarh' title="Fused multiplyadd (halfprecision float)"><code>++fma:rh</code></a>
209+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fmars' title="Fused multiplyadd (singleprecision float)"><code>++fma:rs</code></a>
210+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fmarq' title="Fused multiplyadd (quadprecision float)"><code>++fma:rq</code></a>
211211<a class="tooltip" href='/docs/hoon/reference/stdlib/2e/#fnv' title="FNV scrambler"><code>++fnv</code></a>
212212<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#fo' title="Modulo prime"><code>++fo</code></a>
213213<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#foot' title="Cases of arms by variance model"><code>++foot</code></a>
214−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fos-rh' title="@rs to @rh"><code>++fos:rh</code></a>
215−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#fra-fo' title="Divide (modular base)"><code>++fra:fo</code></a>
216−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#fra-si' title="Divide (signed integer)"><code>++fra:si</code></a>
214+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fosrh' title="@rs to @rh"><code>++fos:rh</code></a>
215+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#frafo' title="Divide (modular base)"><code>++fra:fo</code></a>
216+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#frasi' title="Divide (signed integer)"><code>++fra:si</code></a>
217217<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#full' title="Parse to end"><code>++full</code></a>
218218<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#funk' title="Add to tape"><code>++funk</code></a>
219219
@@ -224,40 +224,40 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
224224<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#gap' title="Plural whitespace"><code>++gap</code></a>
225225<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#gaq' title="End of line"><code>++gaq</code></a>
226226<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#gar' title="Parse > (gar)"><code>++gar</code></a>
227−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#gas-by' title="Concatenate (map)"><code>++gas:by</code></a>
228−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#gas-in' title="Concatenate (set)"><code>++gas:in</code></a>
229−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#gas-to' title="Push list into queue"><code>++gas:to</code></a>
227+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#gasby' title="Concatenate (map)"><code>++gas:by</code></a>
228+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#gasin' title="Concatenate (set)"><code>++gas:in</code></a>
229+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#gasto' title="Push list into queue"><code>++gas:to</code></a>
230230<a class="tooltip" href='/docs/hoon/reference/stdlib/1c/#gate' title="Function"><code>++gate</code></a>
231231<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#gaw' title="Classic whitespace"><code>++gaw</code></a>
232232<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#gay' title="Optional gap"><code>++gay</code></a>
233−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#get-by' title="Grab unit value"><code>++get:by</code></a>
234−<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#get-ja' title="Grab value by key"><code>++get:ja</code></a>
235−<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#get-ju' title="Retrieve set"><code>++get:ju</code></a>
236−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#get-to' title="Head-tail pair"><code>++get:to</code></a>
233+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#getby' title="Grab unit value"><code>++get:by</code></a>
234+<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#getja' title="Grab value by key"><code>++get:ja</code></a>
235+<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#getju' title="Retrieve set"><code>++get:ju</code></a>
236+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#getto' title="Headtail pair"><code>++get:to</code></a>
237237<a class="tooltip" href='/docs/hoon/reference/stdlib/4e/#glue' title="Skip delimiter"><code>++glue</code></a>
238238<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#gon' title="Parse long numbers"><code>++gon</code></a>
239239<a class="tooltip" href='/docs/hoon/reference/stdlib/2f/#gor' title="Hash order"><code>++gor</code></a>
240−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#got-by' title="Assert for value (map)"><code>++got:by</code></a>
241−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grd-ff' title="Decimal float to @r"><code>++grd:ff</code></a>
242−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grd-fl' title="Decimal to float"><code>++grd:fl</code></a>
243−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grd-rd' title="Decimal float to @rd"><code>++grd:rd</code></a>
244−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grd-rh' title="Decimal float to @rh"><code>++grd:rh</code></a>
245−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grd-rs' title="Decimal float to @rs"><code>++grd:rs</code></a>
246−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grd-rq' title="Decimal float to @rq"><code>++grd:rq</code></a>
240+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#gotby' title="Assert for value (map)"><code>++got:by</code></a>
241+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grdff' title="Decimal float to @r"><code>++grd:ff</code></a>
242+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grdfl' title="Decimal to float"><code>++grd:fl</code></a>
243+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grdrd' title="Decimal float to @rd"><code>++grd:rd</code></a>
244+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grdrh' title="Decimal float to @rh"><code>++grd:rh</code></a>
245+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grdrs' title="Decimal float to @rs"><code>++grd:rs</code></a>
246+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grdrq' title="Decimal float to @rq"><code>++grd:rq</code></a>
247247<a class="tooltip" href='/docs/hoon/reference/stdlib/1a/#gte' title="Greater than / equal"><code>++gte</code></a>
248−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gte-ff' title="Greater than / equal (IEEE float)"><code>++gte:ff</code></a>
249−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gte-fl' title="Greater than / equal (producing flag)"><code>++gte:fl</code></a>
250−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gte-rd' title="Greater than / equal (double-precision float)"><code>++gte:rd</code></a>
251−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gte-rh' title="Greater than / equal (half-precision float)"><code>++gte:rh</code></a>
252−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gte-rs' title="Greater than / equal (single-precision float)"><code>++gte:rs</code></a>
253−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gte-rq' title="Greater than / equal (quad-precision float)"><code>++gte:rq</code></a>
248+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gteff' title="Greater than / equal (IEEE float)"><code>++gte:ff</code></a>
249+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gtefl' title="Greater than / equal (producing flag)"><code>++gte:fl</code></a>
250+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gterd' title="Greater than / equal (doubleprecision float)"><code>++gte:rd</code></a>
251+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gterh' title="Greater than / equal (halfprecision float)"><code>++gte:rh</code></a>
252+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gters' title="Greater than / equal (singleprecision float)"><code>++gte:rs</code></a>
253+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gterq' title="Greater than / equal (quadprecision float)"><code>++gte:rq</code></a>
254254<a class="tooltip" href='/docs/hoon/reference/stdlib/1a/#gth' title="Greater than"><code>++gth</code></a>
255−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gth-ff' title="Greater than (IEEE float)"><code>++gth:ff</code></a>
256−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gth-fl' title="Greater than (producing flag)"><code>++gth:fl</code></a>
257−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gth-rd' title="Greater than (double-precision float)"><code>++gth:rd</code></a>
258−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gth-rh' title="Greater than (half-precision float)"><code>++gth:rh</code></a>
259−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gth-rs' title="Greater than (single-precision float)"><code>++gth:rs</code></a>
260−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gth-rq' title="Greater than (quad-precision float)"><code>++gth:rq</code></a>
255+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gthff' title="Greater than (IEEE float)"><code>++gth:ff</code></a>
256+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gthfl' title="Greater than (producing flag)"><code>++gth:fl</code></a>
257+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gthrd' title="Greater than (doubleprecision float)"><code>++gth:rd</code></a>
258+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gthrh' title="Greater than (halfprecision float)"><code>++gth:rh</code></a>
259+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gthrs' title="Greater than (singleprecision float)"><code>++gth:rs</code></a>
260+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gthrq' title="Greater than (quadprecision float)"><code>++gth:rq</code></a>
261261<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#gul' title="Axis syntax < or >"><code>++gul</code></a>
262262<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#gulf' title="List from range"><code>++gulf</code></a>
263263
@@ -265,35 +265,35 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
265265
266266<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#hair' title="Parsing line and column"><code>++hair</code></a>
267267<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#hard' title="Force remold"><code>++hard</code></a>
268−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#has-by' title="Key existence check (map)"><code>++has:by</code></a>
269−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#has-in' title="Key existence check (set)"><code>++has:in</code></a>
270−<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#has-ju' title="Check contents (jug)"><code>++has:ju</code></a>
268+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#hasby' title="Key existence check (map)"><code>++has:by</code></a>
269+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#hasin' title="Key existence check (set)"><code>++has:in</code></a>
270+<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#hasju' title="Check contents (jug)"><code>++has:ju</code></a>
271271<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#hax' title="Parse # (hax)"><code>++hax</code></a>
272272<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#head' title="Get head of cell"><code>++head</code></a>
273−<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#here' title="Place-based apply"><code>++here</code></a>
274−<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#hep' title="Parse - (hep)"><code>++hep</code></a>
273+<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#here' title="Placebased apply"><code>++here</code></a>
274+<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#hep' title="Parse (hep)"><code>++hep</code></a>
275275<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#hex' title="Hexadecimal to atom"><code>++hex</code></a>
276−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#hex-ag' title="Parse hexadecimal number"><code>++hex:ag</code></a>
277−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#hif-ab' title="Parse phonetic pair"><code>++hif:ab</code></a>
276+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#hexag' title="Parse hexadecimal number"><code>++hex:ag</code></a>
277+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#hifab' title="Parse phonetic pair"><code>++hif:ab</code></a>
278278<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#hig' title="Parse single uppercase letter"><code>++hig</code></a>
279279<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#hit' title="Parse single hexadecimal digit"><code>++hit</code></a>
280280<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#homo' title="Homogenize list"><code>++homo</code></a>
281281<a class="tooltip" href='/docs/hoon/reference/stdlib/2f/#hor' title="Horizontal hash order"><code>++hor</code></a>
282−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#hor-yo' title="Seconds in hour"><code>++hor:yo</code></a>
283−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#huf-ab' title="Parse two phonetic pairs"><code>++huf:ab</code></a>
284−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#hyf-ab' title="Parse 8 phonetic bytes"><code>++hyf:ab</code></a>
282+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#horyo' title="Seconds in hour"><code>++hor:yo</code></a>
283+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#hufab' title="Parse two phonetic pairs"><code>++huf:ab</code></a>
284+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#hyfab' title="Parse 8 phonetic bytes"><code>++hyf:ab</code></a>
285285
286286### i
287287
288−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#ibl-fl' title="Integer binary logarithm"><code>++ibl:fl</code></a>
288+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#iblfl' title="Integer binary logarithm"><code>++ibl:fl</code></a>
289289<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#ifix' title="Infix"><code>++ifix</code></a>
290−<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#ind-po' title="Parse suffix"><code>++ind:po</code></a>
291−<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#ins-po' title="Parse prefix"><code>++ins:po</code></a>
292−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#int-by' title="Intersection (map)"><code>++int:by</code></a>
293−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#int-in' title="Intersection (set)"><code>++int:in</code></a>
294−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#inv-fe' title="Inverse order of modular field"><code>++inv:fe</code></a>
295−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#inv-fl' title="Inverse"><code>++inv:fl</code></a>
296−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#inv-fo' title="Inverse (signed modulus)"><code>++inv:fo</code></a>
290+<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#indpo' title="Parse suffix"><code>++ind:po</code></a>
291+<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#inspo' title="Parse prefix"><code>++ins:po</code></a>
292+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#intby' title="Intersection (map)"><code>++int:by</code></a>
293+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#intin' title="Intersection (set)"><code>++int:in</code></a>
294+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#invfe' title="Inverse order of modular field"><code>++inv:fe</code></a>
295+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#invfl' title="Inverse"><code>++inv:fl</code></a>
296+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#invfo' title="Inverse (signed modulus)"><code>++inv:fo</code></a>
297297<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#iny' title="Indentation block"><code>++iny</code></a>
298298
299299### j
@@ -301,7 +301,7 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
301301<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#ja' title="Jar engine"><code>++ja</code></a>
302302<a class="tooltip" href='/docs/hoon/reference/stdlib/2p/#jam' title="Pack noun to atom"><code>++jam</code></a>
303303<a class="tooltip" href='/docs/hoon/reference/stdlib/2o/#jar' title="Mold generator (jar)"><code>++jar</code></a>
304−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#jes-yo' title="Maximum 64-bit timestamp"><code>++jes:yo</code></a>
304+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#jesyo' title="Maximum 64bit timestamp"><code>++jes:yo</code></a>
305305<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#jest' title="Match a cord"><code>++jest</code></a>
306306<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#join' title="Add separator between list elements"><code>++join</code></a>
307307<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#ju' title="Jug operations"><code>++ju</code></a>
@@ -313,45 +313,45 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
313313<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#kel' title="Parse { (kel)"><code>++kel</code></a>
314314<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#ker' title="Parse } (ker)"><code>++ker</code></a>
315315<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#ket' title="Parse ^ (ket)"><code>++ket</code></a>
316−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#key-by' title="Set of keys"><code>++key:by</code></a>
316+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#keyby' title="Set of keys"><code>++key:by</code></a>
317317<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#knee' title="Recursive parsers"><code>++knee</code></a>
318318<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#knot' title="Atom type of ASCII characters"><code>++knot</code></a>
319319
320320### l
321321
322322<a class="tooltip" href='/docs/hoon/reference/stdlib/4d/#last' title="Further trace"><code>++last</code></a>
323−<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#le-nl' title="Construct list from null-terminated noun"><code>++le:nl</code></a>
323+<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#lenl' title="Construct list from nullterminated noun"><code>++le:nl</code></a>
324324<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#lent' title="List length"><code>++lent</code></a>
325325<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#levy' title="Logical AND on list"><code>++levy</code></a>
326−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lfe-fl' title="Maximum"><code>++lfe:fl</code></a>
327−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lfn-fl' title="Largest normal float"><code>++lfn:fl</code></a>
326+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lfefl' title="Maximum"><code>++lfe:fl</code></a>
327+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lfnfl' title="Largest normal float"><code>++lfn:fl</code></a>
328328<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#lien' title="Logical OR on list"><code>++lien</code></a>
329329<a class="tooltip" href='/docs/hoon/reference/stdlib/2a/#lift' title="Curried bind"><code>++lift</code></a>
330330<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#like' title="Generic edge"><code>++like</code></a>
331331<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#limb' title="Reference into subject by name/axis"><code>++limb</code></a>
332−<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#limo' title="Construct list from null-terminated tuple"><code>++limo</code></a>
332+<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#limo' title="Construct list from nullterminated tuple"><code>++limo</code></a>
333333<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#line' title="(Undocumented)"><code>++line</code></a>
334−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#lip-ag' title="Parse IPv4 address"><code>++lip:ag</code></a>
334+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#lipag' title="Parse IPv4 address"><code>++lip:ag</code></a>
335335<a class="tooltip" href='/docs/hoon/reference/stdlib/1c/#list' title="Mold constructor (list)"><code>++list</code></a>
336336<a class="tooltip" href='/docs/hoon/reference/stdlib/1c/#lone' title="Mold generator (face on mold)"><code>++lone</code></a>
337337<a class="tooltip" href='/docs/hoon/reference/stdlib/2f/#lor' title="Leg order"><code>++lor</code></a>
338338<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#low' title="Parse lowercase letter"><code>++low</code></a>
339−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#lsh' title="Left-shift"><code>++lsh</code></a>
339+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#lsh' title="Leftshift"><code>++lsh</code></a>
340340<a class="tooltip" href='/docs/hoon/reference/stdlib/1a/#lte' title="Less than / equal (atom)"><code>++lte</code></a>
341−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lte-ff' title="Less than / equal (IEEE float)"><code>++lte:ff</code></a>
342−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lte-fl' title="Less than / equal (producing flag)"><code>++lte:fl</code></a>
343−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lte-rd' title="Less than / equal (double-precision float)"><code>++lte:rd</code></a>
344−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lte-rh' title="Less than / equal (half-precision float)"><code>++lte:rh</code></a>
345−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lte-rs' title="Less than / equal (single-precision float)"><code>++lte:rs</code></a>
346−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lte-rq' title="Less than / equal (quad-precision float)"><code>++lte:rq</code></a>
341+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lteff' title="Less than / equal (IEEE float)"><code>++lte:ff</code></a>
342+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#ltefl' title="Less than / equal (producing flag)"><code>++lte:fl</code></a>
343+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lterd' title="Less than / equal (doubleprecision float)"><code>++lte:rd</code></a>
344+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lterh' title="Less than / equal (halfprecision float)"><code>++lte:rh</code></a>
345+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lters' title="Less than / equal (singleprecision float)"><code>++lte:rs</code></a>
346+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lterq' title="Less than / equal (quadprecision float)"><code>++lte:rq</code></a>
347347<a class="tooltip" href='/docs/hoon/reference/stdlib/1a/#lth' title="Less than (atom)"><code>++lth</code></a>
348−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lth-ff' title="Less than (IEEE float)"><code>++lth:ff</code></a>
349−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lth-fl' title="Less than (signed and unsigned integer cell)"><code>++lth:fl</code></a>
350−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lth-rd' title="Less than (double-precision float)"><code>++lth:rd</code></a>
351−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lth-rh' title="Less than (half-precision float)"><code>++lth:rh</code></a>
352−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lth-rs' title="Less than (single-precision float)"><code>++lth:rs</code></a>
353−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lth-rq' title="Less than (quad-precision float)"><code>++lth:rq</code></a>
354−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lug-fl' title="Central rounding mechanism"><code>++lug:fl</code></a>
348+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lthff' title="Less than (IEEE float)"><code>++lth:ff</code></a>
349+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lthfl' title="Less than (signed and unsigned integer cell)"><code>++lth:fl</code></a>
350+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lthrd' title="Less than (doubleprecision float)"><code>++lth:rd</code></a>
351+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lthrh' title="Less than (halfprecision float)"><code>++lth:rh</code></a>
352+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lthrs' title="Less than (singleprecision float)"><code>++lth:rs</code></a>
353+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lthrq' title="Less than (quadprecision float)"><code>++lth:rq</code></a>
354+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lugfl' title="Central rounding mechanism"><code>++lug:fl</code></a>
355355<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#lus' title="Parse + (lus)"><code>++lus</code></a>
356356<a class="tooltip" href='/docs/hoon/reference/stdlib/4d/#lust' title="Detect new line"><code>++lust</code></a>
357357<a class="tooltip" href='/docs/hoon/reference/stdlib/4e/#less' title="Parse unless"><code>++less</code></a>
@@ -359,20 +359,20 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
359359
360360### m
361361
362−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#ma-rd' title="Initialize ff (rd core)"><code>++ma:rd</code></a>
363−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#ma-rh' title="Initialize ff (rh core)"><code>++ma:rh</code></a>
364−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#ma-rs' title="Initialize ff (rs core)"><code>++ma:rs</code></a>
365−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#ma-rq' title="Initialize ff (rq core)"><code>++ma:rq</code></a>
362+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mard' title="Initialize ff (rd core)"><code>++ma:rd</code></a>
363+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#marh' title="Initialize ff (rh core)"><code>++ma:rh</code></a>
364+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mars' title="Initialize ff (rs core)"><code>++ma:rs</code></a>
365+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#marq' title="Initialize ff (rq core)"><code>++ma:rq</code></a>
366366<a class="tooltip" href='/docs/hoon/reference/stdlib/4n/#mack' title="Nock subject to unit"><code>++mack</code></a>
367367<a class="tooltip" href='/docs/hoon/reference/stdlib/2l/#malt' title="Map from list"><code>++malt</code></a>
368368<a class="tooltip" href='/docs/hoon/reference/stdlib/2o/#map' title="Mold generator (map)"><code>++map</code></a>
369−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#mar-by' title="Assert and add (map)"><code>++mar:by</code></a>
369+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#marby' title="Assert and add (map)"><code>++mar:by</code></a>
370370<a class="tooltip" href='/docs/hoon/reference/stdlib/1b/#mas' title="Address within head/tail"><code>++mas</code></a>
371371<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#mask' title="Match character"><code>++mask</code></a>
372−<a class="tooltip" href='/docs/hoon/reference/stdlib/2p/#mat' title="Length-encode"><code>++mat</code></a>
372+<a class="tooltip" href='/docs/hoon/reference/stdlib/2p/#mat' title="Lengthencode"><code>++mat</code></a>
373373<a class="tooltip" href='/docs/hoon/reference/stdlib/2a/#mate' title="Choose"><code>++mate</code></a>
374374<a class="tooltip" href='/docs/hoon/reference/stdlib/1a/#max' title="Maximum"><code>++max</code></a>
375−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#me-ff' title="Minimum exponent of ff"><code>++me:ff</code></a>
375+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#meff' title="Minimum exponent of ff"><code>++me:ff</code></a>
376376<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#mean' title="Crash and printf"><code>++mean</code></a>
377377<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#mes' title="Parse hexabyte"><code>++mes</code></a>
378378<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#mesc' title="Escape special characters"><code>++mesc</code></a>
@@ -380,66 +380,66 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
380380<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#metl' title="(Undocumented)"><code>++metl</code></a>
381381<a class="tooltip" href='/docs/hoon/reference/stdlib/1a/#min' title="Minimum (atom)"><code>++min</code></a>
382382<a class="tooltip" href='/docs/hoon/reference/stdlib/4n/#mink' title="Mock (virtual Nock) interpreter"><code>++mink</code></a>
383−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#mit-yo' title="Seconds in minute"><code>++mit:yo</code></a>
383+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#mityo' title="Seconds in minute"><code>++mit:yo</code></a>
384384<a class="tooltip" href='/docs/hoon/reference/stdlib/2d/#mix' title="Binary XOR (atom)"><code>++mix</code></a>
385385<a class="tooltip" href='/docs/hoon/reference/stdlib/4n/#mock' title="Compute formula on subject with hint"><code>++mock</code></a>
386386<a class="tooltip" href='/docs/hoon/reference/stdlib/1a/#mod' title="Modulus (atom)"><code>++mod</code></a>
387−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#moh-yo' title="Days in month"><code>++moh:yo</code></a>
387+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#mohyo' title="Days in month"><code>++moh:yo</code></a>
388388<a class="tooltip" href='/docs/hoon/reference/stdlib/2l/#molt' title="Map from pair list"><code>++molt</code></a>
389389<a class="tooltip" href='/docs/hoon/reference/stdlib/4n/#mong' title="Slam gate with sample"><code>++mong</code></a>
390390<a class="tooltip" href='/docs/hoon/reference/stdlib/4n/#mook' title="Intelligently render crash annotation"><code>++mook</code></a>
391391<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#more' title="Parse list with delimiter"><code>++more</code></a>
392392<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#most' title="Parse list of at least one match"><code>++most</code></a>
393−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#moy-yo' title="Days in months of leap-year"><code>++moy:yo</code></a>
394−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#mu' title="Core used to scramble 16-bit atoms"><code>++mu</code></a>
395−<a class="tooltip" href='/docs/hoon/reference/stdlib/2e/#mug' title="FNV-1a scrambler"><code>++mug</code></a>
393+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#moyyo' title="Days in months of leapyear"><code>++moy:yo</code></a>
394+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#mu' title="Core used to scramble 16bit atoms"><code>++mu</code></a>
395+<a class="tooltip" href='/docs/hoon/reference/stdlib/2e/#mug' title="FNV1a scrambler"><code>++mug</code></a>
396396<a class="tooltip" href='/docs/hoon/reference/stdlib/2e/#muk' title="Standard MurmurHash3"><code>++muk</code></a>
397397<a class="tooltip" href='/docs/hoon/reference/stdlib/1a/#mul' title="Multiply (atom)"><code>++mul</code></a>
398−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mul-ff' title="Multiply (IEEE float)"><code>++mul:ff</code></a>
399−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mul-fl' title="Multiply (signed and unsigned integer cell)"><code>++mul:fl</code></a>
400−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mul-rd' title="Multiply (double-precision float)"><code>++mul:rd</code></a>
401−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mul-rh' title="Multiply (quad-precision float)"><code>++mul:rh</code></a>
402−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mul-rs' title="Multiply (single-precision float)"><code>++mul:rs</code></a>
403−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mul-rq' title="Multiply (quad-precision float)"><code>++mul:rq</code></a>
398+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mulff' title="Multiply (IEEE float)"><code>++mul:ff</code></a>
399+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mulfl' title="Multiply (signed and unsigned integer cell)"><code>++mul:fl</code></a>
400+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mulrd' title="Multiply (doubleprecision float)"><code>++mul:rd</code></a>
401+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mulrh' title="Multiply (quadprecision float)"><code>++mul:rh</code></a>
402+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mulrs' title="Multiply (singleprecision float)"><code>++mul:rs</code></a>
403+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mulrq' title="Multiply (quadprecision float)"><code>++mul:rq</code></a>
404404<a class="tooltip" href='/docs/hoon/reference/stdlib/4n/#mule' title="Typed virtual"><code>++mule</code></a>
405405<a class="tooltip" href='/docs/hoon/reference/stdlib/4n/#mute' title="Untyped virtual"><code>++mute</code></a>
406−<a class="tooltip" href='/docs/hoon/reference/stdlib/2e/#mum' title="31-bit MurmurHash3 scrambler"><code>++mum</code></a>
406+<a class="tooltip" href='/docs/hoon/reference/stdlib/2e/#mum' title="31bit MurmurHash3 scrambler"><code>++mum</code></a>
407407<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#murn' title="Maybe transform"><code>++murn</code></a>
408408<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#my' title="Map from raw noun"><code>++my</code></a>
409−<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#my-nl' title="Construct map from null-terminated noun"><code>++my:nl</code></a>
409+<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#mynl' title="Construct map from nullterminated noun"><code>++my:nl</code></a>
410410
411411### n
412412
413413<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#nail' title="Location, remainder of parsed text"><code>++nail</code></a>
414−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#nap-to' title="Remove head of queue"><code>++nap:to</code></a>
414+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#napto' title="Remove head of queue"><code>++nap:to</code></a>
415415<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#ne' title="Digit rendering engine"><code>++ne</code></a>
416−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#ned-fl' title="Require float"><code>++ned:fl</code></a>
416+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#nedfl' title="Require float"><code>++ned:fl</code></a>
417417<a class="tooltip" href='/docs/hoon/reference/stdlib/2a/#need' title="Unwrap unit"><code>++need</code></a>
418−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#net-fe' title="Flip endianness"><code>++net:fe</code></a>
419−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#new-si' title="Atom to @s"><code>++new:si</code></a>
418+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#netfe' title="Flip endianness"><code>++net:fe</code></a>
419+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#newsi' title="Atom to @s"><code>++new:si</code></a>
420420<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#next' title="Consume character"><code>++next</code></a>
421−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#nip-to' title="Remove root of queue"><code>++nip:to</code></a>
422−<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#nix' title="Parse letters and -"><code>++nix</code></a>
421+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#nipto' title="Remove root of queue"><code>++nip:to</code></a>
422+<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#nix' title="Parse letters and "><code>++nix</code></a>
423423<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#nl' title="Noun to container operations"><code>++nl</code></a>
424424<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#nock' title="Virtual machine (see Nock)"><code>++nock</code></a>
425425<a class="tooltip" href='/docs/hoon/reference/stdlib/2d/#not' title="Binary NOT (atom)"><code>++not</code></a>
426426<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#noun' title="(Undocumented)"><code>++noun</code></a>
427−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#nuck-so' title="Top-level coin parser"><code>++nuck:so</code></a>
427+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#nuckso' title="Toplevel coin parser"><code>++nuck:so</code></a>
428428<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#nud' title="Parse numeric character"><code>++nud</code></a>
429429<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#null' title="(Undocumented)"><code>++null</code></a>
430−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#nusk-so' title="Parse coin literal with escapes"><code>++nusk:so</code></a>
430+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#nuskso' title="Parse coin literal with escapes"><code>++nusk:so</code></a>
431431
432432### o
433433
434434<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#ob' title="Reversible scrambling v2"><code>++ob</code></a>
435−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#og' title="Container arm for SHA-256 powered RNG"><code>++og</code></a>
436−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#old-si' title="Sign and absolute value"><code>++old:si</code></a>
435+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#og' title="Container arm for SHA256 powered RNG"><code>++og</code></a>
436+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#oldsi' title="Sign and absolute value"><code>++old:si</code></a>
437437<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#oust' title="Remove from list"><code>++oust</code></a>
438−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#out-fe' title="Maximum integer value"><code>++out:fe</code></a>
438+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#outfe' title="Maximum integer value"><code>++out:fe</code></a>
439439
440440### p
441441
442−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#pa-ff' title="Initialize fl from ff core"><code>++pa:ff</code></a>
442+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#paff' title="Initialize fl from ff core"><code>++pa:ff</code></a>
443443<a class="tooltip" href='/docs/hoon/reference/stdlib/1c/#pair' title="Mold of pair of types"><code>++pair</code></a>
444444<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#pam' title="Parse & (pam)"><code>++pam</code></a>
445445<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#pat' title="Parse @ (pat)"><code>++pat</code></a>
@@ -447,13 +447,13 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
447447<a class="tooltip" href='/docs/hoon/reference/stdlib/1b/#peg' title="Address within address"><code>++peg</code></a>
448448<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#pel' title="Parse ( (pel)"><code>++pel</code></a>
449449<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#per' title="Parse ) (per)"><code>++per</code></a>
450−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#perd-so' title="Parses dime/tiple without standard prefixes"><code>++perd:so</code></a>
451−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#pev-ab' title="Parse <=5 in base 32"><code>++pev:ab</code></a>
452−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#pew-ab' title="Parse <= 5 in base 64"><code>++pew:ab</code></a>
450+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#perdso' title="Parses dime/tiple without standard prefixes"><code>++perd:so</code></a>
451+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#pevab' title="Parse <=5 in base 32"><code>++pev:ab</code></a>
452+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#pewab' title="Parse <= 5 in base 64"><code>++pew:ab</code></a>
453453<a class="tooltip" href='/docs/hoon/reference/stdlib/4e/#pfix' title="Discard first rule"><code>++pfix</code></a>
454454<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#pint' title="Parsing range"><code>++pint</code></a>
455−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#piv-ab' title="Parse 5 digits in base 32"><code>++piv:ab</code></a>
456−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#piw-ab' title="Parse 5 digits in base 64"><code>++piw:ab</code></a>
455+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#pivab' title="Parse 5 digits in base 32"><code>++piv:ab</code></a>
456+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#piwab' title="Parse 5 digits in base 64"><code>++piw:ab</code></a>
457457<a class="tooltip" href='/docs/hoon/reference/stdlib/4e/#plug' title="Parse to tuple"><code>++plug</code></a>
458458<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#plus' title="List of at least one match"><code>++plus</code></a>
459459<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#po' title="Phonetic base"><code>++po</code></a>
@@ -461,146 +461,146 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
461461<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#port' title="(Undocumented)"><code>++port</code></a>
462462<a class="tooltip" href='/docs/hoon/reference/stdlib/4e/#pose' title="Parse options"><code>++pose</code></a>
463463<a class="tooltip" href='/docs/hoon/reference/stdlib/2g/#pow' title="Computes a to the power of b"><code>++pow</code></a>
464−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#prc-fl' title="Force precision of 2 or greater (floating point)"><code>++prc:fl</code></a>
464+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#prcfl' title="Force precision of 2 or greater (floating point)"><code>++prc:fl</code></a>
465465<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#prn' title="Parse any printable character"><code>++prn</code></a>
466−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#pro-fo' title="Multiplies b and c modulo a"><code>++pro:fo</code></a>
467−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#pro-si' title="Multiply to signed integer"><code>++pro:si</code></a>
468−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#put-by' title="Add key-value pair (map)"><code>++put:by</code></a>
469−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#put-in' title="Put b in a (set)"><code>++put:in</code></a>
470−<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#put-ju' title="Add key-set pair (jar)"><code>++put:ju</code></a>
471−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#put-to' title="Insert into queue"><code>++put:to</code></a>
466+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#profo' title="Multiplies b and c modulo a"><code>++pro:fo</code></a>
467+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#prosi' title="Multiply to signed integer"><code>++pro:si</code></a>
468+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#putby' title="Add keyvalue pair (map)"><code>++put:by</code></a>
469+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#putin' title="Put b in a (set)"><code>++put:in</code></a>
470+<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#putju' title="Add keyset pair (jar)"><code>++put:ju</code></a>
471+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#putto' title="Insert into queue"><code>++put:to</code></a>
472472
473473### q
474474
475−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#qad-yo' title="Seconds in 4 years"><code>++qad:yo</code></a>
476−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#qeb-ab' title="Parse <=4 binary digits"><code>++qeb:ab</code></a>
475+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#qadyo' title="Seconds in 4 years"><code>++qad:yo</code></a>
476+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#qebab' title="Parse <=4 binary digits"><code>++qeb:ab</code></a>
477477<a class="tooltip" href='/docs/hoon/reference/stdlib/2o/#qeu' title="Mold generator (queue)"><code>++qeu</code></a>
478−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#qex-ab' title="Parse <=4 hexadecimal digits"><code>++qex:ab</code></a>
479−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#qib-ab' title="Parse 4 binary digits"><code>++qib:ab</code></a>
478+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#qexab' title="Parse <=4 hexadecimal digits"><code>++qex:ab</code></a>
479+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#qibab' title="Parse 4 binary digits"><code>++qib:ab</code></a>
480480<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#qit' title="Parse character to cord atom"><code>++qit</code></a>
481−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#qix-ab' title="Parse 4 hexadecimal digits"><code>++qix:ab</code></a>
481+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#qixab' title="Parse 4 hexadecimal digits"><code>++qix:ab</code></a>
482482<a class="tooltip" href='/docs/hoon/reference/stdlib/1c/#quip' title="Mold generator (tuple of list and type)"><code>++quip</code></a>
483483<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#qut' title="Parse cord"><code>++qut</code></a>
484484
485485### r
486486
487−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#r-at' title="(Undocumented)"><code>++r:at</code></a>
488−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#rad-og' title="Random in range"><code>++rad:og</code></a>
489−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#rads-og' title="Random continuation"><code>++rads:og</code></a>
490−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#raku-ob' title="Key list"><code>++raku:ob</code></a>
491−<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#ram-re' title="Flatten tank to tape"><code>++ram:re</code></a>
492−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rap' title="Assemble non-zero"><code>++rap</code></a>
487+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rat' title="(Undocumented)"><code>++r:at</code></a>
488+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#radog' title="Random in range"><code>++rad:og</code></a>
489+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#radsog' title="Random continuation"><code>++rads:og</code></a>
490+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#rakuob' title="Key list"><code>++raku:ob</code></a>
491+<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#ramre' title="Flatten tank to tape"><code>++ram:re</code></a>
492+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rap' title="Assemble nonzero"><code>++rap</code></a>
493493<a class="tooltip" href='/docs/hoon/reference/stdlib/4g/#rash' title="Parse or crash"><code>++rash</code></a>
494−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#rau-fl' title="Various roundings (floating point)"><code>++rau:fl</code></a>
495−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#raw-og' title="Random bits"><code>++raw:og</code></a>
496−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#raws-og' title="Random bits continuation"><code>++raws:og</code></a>
497−<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#re' title="Pretty-printing engine (tank)"><code>++re</code></a>
498−<a class="tooltip" href='/docs/hoon/reference/stdlib/4k/#rear-co' title="Prepend and render atom as tape"><code>++rear:co</code></a>
494+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#raufl' title="Various roundings (floating point)"><code>++rau:fl</code></a>
495+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#rawog' title="Random bits"><code>++raw:og</code></a>
496+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#rawsog' title="Random bits continuation"><code>++raws:og</code></a>
497+<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#re' title="Prettyprinting engine (tank)"><code>++re</code></a>
498+<a class="tooltip" href='/docs/hoon/reference/stdlib/4k/#rearco' title="Prepend and render atom as tape"><code>++rear:co</code></a>
499499<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#reap' title="Replicate (list)"><code>++reap</code></a>
500500<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#reel' title="Right fold (list)"><code>++reel</code></a>
501−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#rem-si' title="Remainder (signed integer)"><code>++rem:si</code></a>
502−<a class="tooltip" href='/docs/hoon/reference/stdlib/4k/#rend-co' title="Render coin lot as tape"><code>++rend:co</code></a>
503−<a class="tooltip" href='/docs/hoon/reference/stdlib/4k/#rent-co' title="Render coin lot as span"><code>++rent:co</code></a>
501+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#remsi' title="Remainder (signed integer)"><code>++rem:si</code></a>
502+<a class="tooltip" href='/docs/hoon/reference/stdlib/4k/#rendco' title="Render coin lot as tape"><code>++rend:co</code></a>
503+<a class="tooltip" href='/docs/hoon/reference/stdlib/4k/#rentco' title="Render coin lot as span"><code>++rent:co</code></a>
504504<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rep' title="Assemble single"><code>++rep</code></a>
505−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#rep-by' title="Replace by product (map)"><code>++rep:by</code></a>
506−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#rep-in' title="Accumulate elements (set)"><code>++rep:in</code></a>
507−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rf-at' title="(Undocumented)"><code>++rf:at</code></a>
508−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#rib-by' title="Replace values with accumulator (map)"><code>++rib:by</code></a>
509−<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#rig-re' title="Wrap tape in / (tank)"><code>++rig:re</code></a>
505+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#repby' title="Replace by product (map)"><code>++rep:by</code></a>
506+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#repin' title="Accumulate elements (set)"><code>++rep:in</code></a>
507+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rfat' title="(Undocumented)"><code>++rf:at</code></a>
508+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#ribby' title="Replace values with accumulator (map)"><code>++rib:by</code></a>
509+<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#rigre' title="Wrap tape in / (tank)"><code>++rig:re</code></a>
510510<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rip' title="Disassemble"><code>++rip</code></a>
511−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rn-at' title="(Undocumented)"><code>++rn:at</code></a>
512−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rol-fe' title="Roll left"><code>++rol:fe</code></a>
511+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rnat' title="(Undocumented)"><code>++rn:at</code></a>
512+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rolfe' title="Roll left"><code>++rol:fe</code></a>
513513<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#roll' title="Left fold (list)"><code>++roll</code></a>
514514<code>++rood</code>
515−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#ror-fe' title="Roll right"><code>++ror:fe</code></a>
516−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#rou-fl' title="Round to nearest float with 113-bit significand"><code>++rou:fl</code></a>
517−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#royl-so' title="Parse dime float"><code>++royl:so</code></a>
518−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#royl-cell-so' title="(Undocumented)"><code>++royl-cell:so</code></a>
519−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rsh' title="Right-shift"><code>++rsh</code></a>
520−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rt-at' title="(Undocumented)"><code>++rt:at</code></a>
521−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rta-at' title="(Undocumented)"><code>++rta:at</code></a>
522−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rtam-at' title="(Undocumented)"><code>++rtam:at</code></a>
523−<a class="tooltip" href='/docs/hoon/reference/stdlib/2p/#rub' title="Length-decode"><code>++rub</code></a>
524−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rub-at' title="(Undocumented)"><code>++rub:at</code></a>
525−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rud-at' title="(Undocumented)"><code>++rud:at</code></a>
515+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rorfe' title="Roll right"><code>++ror:fe</code></a>
516+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#roufl' title="Round to nearest float with 113bit significand"><code>++rou:fl</code></a>
517+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#roylso' title="Parse dime float"><code>++royl:so</code></a>
518+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#roylcellso' title="(Undocumented)"><code>++roylcell:so</code></a>
519+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rsh' title="Rightshift"><code>++rsh</code></a>
520+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rtat' title="(Undocumented)"><code>++rt:at</code></a>
521+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rtaat' title="(Undocumented)"><code>++rta:at</code></a>
522+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rtamat' title="(Undocumented)"><code>++rtam:at</code></a>
523+<a class="tooltip" href='/docs/hoon/reference/stdlib/2p/#rub' title="Lengthdecode"><code>++rub</code></a>
524+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rubat' title="(Undocumented)"><code>++rub:at</code></a>
525+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rudat' title="(Undocumented)"><code>++rud:at</code></a>
526526<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#rule' title="Parsing rule (match this with _)"><code>++rule</code></a>
527−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rum-at' title="(Undocumented)"><code>++rum:at</code></a>
528−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#run-by' title="Transform values (map)"><code>++run:by</code></a>
529−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#run-in' title="Apply gate to set"><code>++run:in</code></a>
530−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#rund-ob' title="Reverse single Feistel-like"><code>++rund:ob</code></a>
527+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rumat' title="(Undocumented)"><code>++rum:at</code></a>
528+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#runby' title="Transform values (map)"><code>++run:by</code></a>
529+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#runin' title="Apply gate to set"><code>++run:in</code></a>
530+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#rundob' title="Reverse single Feistellike"><code>++rund:ob</code></a>
531531<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#runt' title="Prepend n times"><code>++runt</code></a>
532−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rup-at' title="(Undocumented)"><code>++rup:at</code></a>
532+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rupat' title="(Undocumented)"><code>++rup:at</code></a>
533533<a class="tooltip" href='/docs/hoon/reference/stdlib/4g/#rush' title="Parse or null"><code>++rush</code></a>
534534<a class="tooltip" href='/docs/hoon/reference/stdlib/4g/#rust' title="Parse tape or null"><code>++rust</code></a>
535−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#rut-by' title="Transform nodes (map)"><code>++rut:by</code></a>
536−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#ruv-at' title="(Undocumented)"><code>++ruv:at</code></a>
537−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rux-at' title="(Undocumented)"><code>++rux:at</code></a>
538−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#rynd-ob' title="Reverse Feistel-like cipher"><code>++rynd:ob</code></a>
535+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#rutby' title="Transform nodes (map)"><code>++rut:by</code></a>
536+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#ruvat' title="(Undocumented)"><code>++ruv:at</code></a>
537+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#ruxat' title="(Undocumented)"><code>++rux:at</code></a>
538+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#ryndob' title="Reverse Feistellike cipher"><code>++rynd:ob</code></a>
539539
540540### s
541541
542542<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#same' title="Identity (produces same value)"><code>++same</code></a>
543−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#san-ff' title="Signed integer to @r"><code>++san:ff</code></a>
544−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#san-fl' title="Signed integer to float"><code>++san:fl</code></a>
545−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#san-rd' title="Unsigned integer to @rd"><code>++san:rd</code></a>
546−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#san-rh' title="Signed integer to @rh"><code>++san:rh</code></a>
547−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#san-rs' title="Signed integer to @rs"><code>++san:rs</code></a>
548−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#san-rq' title="Signed integer to @rq"><code>++san:rq</code></a>
549−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#sand' title="Soft-cast by aura"><code>++sand</code></a>
543+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sanff' title="Signed integer to @r"><code>++san:ff</code></a>
544+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sanfl' title="Signed integer to float"><code>++san:fl</code></a>
545+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sanrd' title="Unsigned integer to @rd"><code>++san:rd</code></a>
546+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sanrh' title="Signed integer to @rh"><code>++san:rh</code></a>
547+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sanrs' title="Signed integer to @rs"><code>++san:rs</code></a>
548+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sanrq' title="Signed integer to @rq"><code>++san:rq</code></a>
549+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#sand' title="Softcast by aura"><code>++sand</code></a>
550550<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#sane' title="Check aura validity"><code>++sane</code></a>
551−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sb-ff' title="Sign bit"><code>++sb:ff</code></a>
551+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sbff' title="Sign bit"><code>++sb:ff</code></a>
552552<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#scag' title="Prefix (produce front of list)"><code>++scag</code></a>
553553<a class="tooltip" href='/docs/hoon/reference/stdlib/4g/#scan' title="Parse tape or crash"><code>++scan</code></a>
554554<a class="tooltip" href='/docs/hoon/reference/stdlib/4m/#scot' title="Render dime as cord"><code>++scot</code></a>
555555<a class="tooltip" href='/docs/hoon/reference/stdlib/4m/#scow' title="Render dime as tape"><code>++scow</code></a>
556−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sea-ff' title="Convert from IEEE float to fn"><code>++sea:ff</code></a>
557−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sea-rd' title="Convert from double-precision binary float to fn"><code>++sea:rd</code></a>
558−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sea-rh' title="Convert from half-precision float to fn"><code>++sea:rh</code></a>
559−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sea-rs' title="Convert from single-precision float to fn"><code>++sea:rs</code></a>
560−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sea-rq' title="Convert from quad-precision float to fn"><code>++sea:rq</code></a>
556+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#seaff' title="Convert from IEEE float to fn"><code>++sea:ff</code></a>
557+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#seard' title="Convert from doubleprecision binary float to fn"><code>++sea:rd</code></a>
558+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#searh' title="Convert from halfprecision float to fn"><code>++sea:rh</code></a>
559+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sears' title="Convert from singleprecision float to fn"><code>++sea:rs</code></a>
560+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#searq' title="Convert from quadprecision float to fn"><code>++sea:rq</code></a>
561561<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#sear' title="Conditional ++cook"><code>++sear</code></a>
562−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#seb-ab' title="Parse 1"><code>++seb:ab</code></a>
563−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sed-ab' title="Parse non-zero decimal digit"><code>++sed:ab</code></a>
562+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sebab' title="Parse 1"><code>++seb:ab</code></a>
563+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sedab' title="Parse nonzero decimal digit"><code>++sed:ab</code></a>
564564<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#sel' title="Parse [ (sel)"><code>++sel</code></a>
565565<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#sem' title="Parse ; (sem)"><code>++sem</code></a>
566566<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#ser' title="Parse ] (ser)"><code>++ser</code></a>
567567<a class="tooltip" href='/docs/hoon/reference/stdlib/2o/#set' title="Mold generator (set)"><code>++set</code></a>
568−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sev-ab' title="Parse non-zero base 32 digit"><code>++sev:ab</code></a>
569−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sew-ab' title="Parse non-zero base 64 digit"><code>++sew:ab</code></a>
570−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sex-ab' title="Parse nonzero hexadecimal digit"><code>++sex:ab</code></a>
568+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sevab' title="Parse nonzero base 32 digit"><code>++sev:ab</code></a>
569+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sewab' title="Parse nonzero base 64 digit"><code>++sew:ab</code></a>
570+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sexab' title="Parse nonzero hexadecimal digit"><code>++sex:ab</code></a>
571571<a class="tooltip" href='/docs/hoon/reference/stdlib/4e/#sfix' title="Discard second rule"><code>++sfix</code></a>
572−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shad' title="Double SHA-256"><code>++shad</code></a>
573−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shaf' title="Half SHA-256"><code>++shaf</code></a>
574−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shal' title="SHA-512 with length"><code>++shal</code></a>
575−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#sham' title="128-bit noun hash"><code>++sham</code></a>
576−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shan' title="SHA-1"><code>++shan</code></a>
572+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shad' title="Double SHA256"><code>++shad</code></a>
573+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shaf' title="Half SHA256"><code>++shaf</code></a>
574+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shal' title="SHA512 with length"><code>++shal</code></a>
575+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#sham' title="128bit noun hash"><code>++sham</code></a>
576+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shan' title="SHA1"><code>++shan</code></a>
577577<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shas' title="Salted hash"><code>++shas</code></a>
578578<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shaw' title="Hash to nbits"><code>++shaw</code></a>
579−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shax' title="SHA-256"><code>++shax</code></a>
580−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shay' title="SHA-256 with length"><code>++shay</code></a>
581−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shaz' title="SHA-512"><code>++shaz</code></a>
579+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shax' title="SHA256"><code>++shax</code></a>
580+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shay' title="SHA256 with length"><code>++shay</code></a>
581+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shaz' title="SHA512"><code>++shaz</code></a>
582582<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#shep' title="(Undocumented)"><code>++shep</code></a>
583−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#shf-fl' title="Shift power"><code>++shf:fl</code></a>
583+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#shffl' title="Shift power"><code>++shf:fl</code></a>
584584<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#shim' title="Match character within range"><code>++shim</code></a>
585585<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#shop' title="(Undocumented)"><code>++shop</code></a>
586586<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#show' title="(Undocumented)"><code>++show</code></a>
587587<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#si' title="Signed integer"><code>++si</code></a>
588−<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#si-nl' title="Construct set from null-terminated noun"><code>++si:nl</code></a>
589−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sib-ab' title="Parse binary digit"><code>++sib:ab</code></a>
590−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sid-ab' title="Parse decimal digit"><code>++sid:ab</code></a>
588+<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#sinl' title="Construct set from nullterminated noun"><code>++si:nl</code></a>
589+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sibab' title="Parse binary digit"><code>++sib:ab</code></a>
590+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sidab' title="Parse decimal digit"><code>++sid:ab</code></a>
591591<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#sig' title="Parse ~ (sig)"><code>++sig</code></a>
592−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sig-ff' title="Produce sign of IEEE float"><code>++sig:ff</code></a>
593−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sig-rd' title="Produce sign of @rd"><code>++sig:rd</code></a>
594−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sig-rh' title="Produce sign of half-precision float"><code>++sig:rh</code></a>
595−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sig-rs' title="Produce sign of @rs"><code>++sig:rs</code></a>
596−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sig-rq' title="Produce sign of quad-precision float"><code>++sig:rq</code></a>
592+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sigff' title="Produce sign of IEEE float"><code>++sig:ff</code></a>
593+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sigrd' title="Produce sign of @rd"><code>++sig:rd</code></a>
594+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sigrh' title="Produce sign of halfprecision float"><code>++sig:rh</code></a>
595+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sigrs' title="Produce sign of @rs"><code>++sig:rs</code></a>
596+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sigrq' title="Produce sign of quadprecision float"><code>++sig:rq</code></a>
597597<a class="tooltip" href='/docs/hoon/reference/stdlib/2l/#silt' title="Produce set from list"><code>++silt</code></a>
598598<a class="tooltip" href='/docs/hoon/reference/stdlib/4e/#simu' title="First and second"><code>++simu</code></a>
599−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#sit-fe' title="Enforce modulo"><code>++sit:fe</code></a>
600−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#sit-fo' title="Produce remainder of b modulo a"><code>++sit:fo</code></a>
601−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#siv-ab' title="Parse a base 32 digit"><code>++siv:ab</code></a>
602−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#siw-ab' title="Parse a base 64 digit"><code>++siw:ab</code></a>
603−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#six-ab' title="Parse a hexadecimal digit"><code>++six:ab</code></a>
599+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#sitfe' title="Enforce modulo"><code>++sit:fe</code></a>
600+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#sitfo' title="Produce remainder of b modulo a"><code>++sit:fo</code></a>
601+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sivab' title="Parse a base 32 digit"><code>++siv:ab</code></a>
602+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#siwab' title="Parse a base 64 digit"><code>++siw:ab</code></a>
603+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sixab' title="Parse a hexadecimal digit"><code>++six:ab</code></a>
604604<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#skid' title="Separate list into two lists from slammed elments"><code>++skid</code></a>
605605<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#skim' title="Produce list of elements from boolean gate"><code>++skim</code></a>
606606<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#skip' title="Produce list of elements failing boolean gate"><code>++skip</code></a>
@@ -613,116 +613,116 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
613613<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#slug' title="Use gate to parse delimited list"><code>++slug</code></a>
614614<a class="tooltip" href='/docs/hoon/reference/stdlib/4m/#smyt' title="Render path as tank"><code>++smyt</code></a>
615615<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#snag' title="Produce element at specific index (list)"><code>++snag</code></a>
616−<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#snag-nl' title="Produce element from list at specific null-terminated noun"><code>++snag:nl</code></a>
616+<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#snagnl' title="Produce element from list at specific nullterminated noun"><code>++snag:nl</code></a>
617617<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#snoc' title="Append noun to list"><code>++snoc</code></a>
618618<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#so' title="Coin parser engine"><code>++so</code></a>
619619<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#soft' title="Maybe remold"><code>++soft</code></a>
620620<a class="tooltip" href='/docs/hoon/reference/stdlib/2a/#some' title="Wrap value in unit"><code>++some</code></a>
621621<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#soq' title="Parse ' (soq)"><code>++soq</code></a>
622622<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#sort' title="Quicksort (list)"><code>++sort</code></a>
623−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sov-ab' title="Parse base 32 letter"><code>++sov:ab</code></a>
624−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sow-ab' title="Parse base 64 letter/symbol"><code>++sow:ab</code></a>
625−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sox-ab' title="Parse hexadecimal letter"><code>++sox:ab</code></a>
626−<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#soz' title="Parse triple single-quote"><code>++soz</code></a>
623+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sovab' title="Parse base 32 letter"><code>++sov:ab</code></a>
624+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sowab' title="Parse base 64 letter/symbol"><code>++sow:ab</code></a>
625+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#soxab' title="Parse hexadecimal letter"><code>++sox:ab</code></a>
626+<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#soz' title="Parse triple singlequote"><code>++soz</code></a>
627627<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#span' title="ASCII atom"><code>++span</code></a>
628628<a class="tooltip" href='/docs/hoon/reference/stdlib/4m/#spat' title="Render path as cord"><code>++spat</code></a>
629−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#spd-fl' title="Produce smallest denormalized float"><code>++spd:fl</code></a>
629+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#spdfl' title="Produce smallest denormalized float"><code>++spd:fl</code></a>
630630<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#spin' title="Gate to list (with state)"><code>++spin</code></a>
631−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#spn-fl' title="Produce smallest normal float"><code>++spn:fl</code></a>
631+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#spnfl' title="Produce smallest normal float"><code>++spn:fl</code></a>
632632<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#spot' title="Stack trace line"><code>++spot</code></a>
633633<a class="tooltip" href='/docs/hoon/reference/stdlib/4m/#spud' title="Render path as tape"><code>++spud</code></a>
634634<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#spun' title="Gate to list (with state)"><code>++spun</code></a>
635635<a class="tooltip" href='/docs/hoon/reference/stdlib/2g/#sqt' title="Compute square root with remainder"><code>++sqt</code></a>
636−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqt-ff' title="Produce square root of IEEE float"><code>++sqt:ff</code></a>
637−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqt-fl' title="Produce square root from signed and unsigned integer cell"><code>++sqt:fl</code></a>
638−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqt-rd' title="Produce square root of double-precision float"><code>++sqt:rd</code></a>
639−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqt-rh' title="Produce square root of half-precision float"><code>++sqt:rh</code></a>
640−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqt-rs' title="Produce square root of single-precision float"><code>++sqt:rs</code></a>
641−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqt-rq' title="Produce square root of quad-precision float"><code>++sqt:rq</code></a>
636+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqtff' title="Produce square root of IEEE float"><code>++sqt:ff</code></a>
637+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqtfl' title="Produce square root from signed and unsigned integer cell"><code>++sqt:fl</code></a>
638+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqtrd' title="Produce square root of doubleprecision float"><code>++sqt:rd</code></a>
639+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqtrh' title="Produce square root of halfprecision float"><code>++sqt:rh</code></a>
640+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqtrs' title="Produce square root of singleprecision float"><code>++sqt:rs</code></a>
641+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqtrq' title="Produce square root of quadprecision float"><code>++sqt:rq</code></a>
642642<a class="tooltip" href='/docs/hoon/reference/stdlib/4m/#stab' title="Parse cord to path"><code>++stab</code></a>
643643<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#stag' title="Add label"><code>++stag</code></a>
644644<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#star' title="Produce list of matches"><code>++star</code></a>
645−<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#stet' title="Add faces to range-parser pairs in list"><code>++stet</code></a>
645+<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#stet' title="Add faces to rangeparser pairs in list"><code>++stet</code></a>
646646<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#stew' title="Switch by first"><code>++stew</code></a>
647647<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#stir' title="Parse repeatedly"><code>++stir</code></a>
648648<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#stun' title="Parse several times"><code>++stun</code></a>
649649<a class="tooltip" href='/docs/hoon/reference/stdlib/1a/#sub' title="Subtract"><code>++sub</code></a>
650−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sub-ff' title="Subtract from IEEE float"><code>++sub:ff</code></a>
651−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sub-fl' title="Subtract from signed and unsigned integer cells"><code>++sub:fl</code></a>
652−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sub-rd' title="Subtract from double-precision float"><code>++sub:rd</code></a>
653−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sub-rh' title="Subtract from half-precision float"><code>++sub:rh</code></a>
654−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sub-rs' title="Subtract from single-precision float"><code>++sub:rs</code></a>
655−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sub-rq' title="Subtract from quad-precision float"><code>++sub:rq</code></a>
656−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#sum-fe' title="Sum two numbers in modular field"><code>++sum:fe</code></a>
657−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#sum-fo' title="Modular sum"><code>++sum:fo</code></a>
658−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#sum-si' title="Addition (signed integer)"><code>++sum:si</code></a>
659−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sun-ff' title="Unsigned integer to IEEE float"><code>++sun:ff</code></a>
660−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sun-fl' title="Unsigned integer to float"><code>++sun:fl</code></a>
661−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sun-rd' title="Unsigned integer to double-precision float"><code>++sun:rd</code></a>
662−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sun-rh' title="Unsigned integer to half-precision float"><code>++sun:rh</code></a>
663−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sun-rs' title="Unsigned integer to single-precision float"><code>++sun:rs</code></a>
664−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sun-rq' title="Unsigned integer to quad-precision float"><code>++sun:rq</code></a>
665−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#sun-si' title="@u to @s"><code>++sun:si</code></a>
650+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#subff' title="Subtract from IEEE float"><code>++sub:ff</code></a>
651+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#subfl' title="Subtract from signed and unsigned integer cells"><code>++sub:fl</code></a>
652+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#subrd' title="Subtract from doubleprecision float"><code>++sub:rd</code></a>
653+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#subrh' title="Subtract from halfprecision float"><code>++sub:rh</code></a>
654+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#subrs' title="Subtract from singleprecision float"><code>++sub:rs</code></a>
655+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#subrq' title="Subtract from quadprecision float"><code>++sub:rq</code></a>
656+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#sumfe' title="Sum two numbers in modular field"><code>++sum:fe</code></a>
657+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#sumfo' title="Modular sum"><code>++sum:fo</code></a>
658+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#sumsi' title="Addition (signed integer)"><code>++sum:si</code></a>
659+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sunff' title="Unsigned integer to IEEE float"><code>++sun:ff</code></a>
660+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sunfl' title="Unsigned integer to float"><code>++sun:fl</code></a>
661+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sunrd' title="Unsigned integer to doubleprecision float"><code>++sun:rd</code></a>
662+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sunrh' title="Unsigned integer to halfprecision float"><code>++sun:rh</code></a>
663+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sunrs' title="Unsigned integer to singleprecision float"><code>++sun:rs</code></a>
664+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sunrq' title="Unsigned integer to quadprecision float"><code>++sun:rq</code></a>
665+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#sunsi' title="@u to @s"><code>++sun:si</code></a>
666666<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#swag' title="Infix (list)"><code>++swag</code></a>
667667<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#swp' title="Reverse block order"><code>++swp</code></a>
668−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#swr-fl' title="Switch rounding mode of floating point"><code>++swr:fl</code></a>
669−<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#sy' title="Produce set from null-terminated noun"><code>++sy</code></a>
668+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#swrfl' title="Switch rounding mode of floating point"><code>++swr:fl</code></a>
669+<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#sy' title="Produce set from nullterminated noun"><code>++sy</code></a>
670670<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#sym' title="Term"><code>++sym</code></a>
671−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#syn-fl' title="Get sign"><code>++syn:fl</code></a>
672−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#syn-si' title="Sign test"><code>++syn:si</code></a>
671+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#synfl' title="Get sign"><code>++syn:fl</code></a>
672+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#synsi' title="Sign test"><code>++syn:si</code></a>
673673
674674### t
675675
676676<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#tail' title="Get tail of cell"><code>++tail</code></a>
677−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#tap-to' title="Queue to list"><code>++tap:to</code></a>
677+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#tapto' title="Queue to list"><code>++tap:to</code></a>
678678<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#tar' title="Parse * (tar)"><code>++tar</code></a>
679679<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#tang' title="Generic print structure"><code>++tang</code></a>
680−<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#tank' title="Pretty-printing structure"><code>++tank</code></a>
681−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#tap-by' title="Listify pairs"><code>++tap:by</code></a>
682−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#tap-in' title="Flatten set into list"><code>++tap:in</code></a>
680+<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#tank' title="Prettyprinting structure"><code>++tank</code></a>
681+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#tapby' title="Listify pairs"><code>++tap:by</code></a>
682+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#tapin' title="Flatten set into list"><code>++tap:in</code></a>
683683<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#tape' title="List of characters"><code>++tape</code></a>
684684<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#tarp' title="Parsed time"><code>++tarp</code></a>
685−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#tash-so' title="Parse signed dime"><code>++tash:so</code></a>
685+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#tashso' title="Parse signed dime"><code>++tash:so</code></a>
686686<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#tec' title="Parse ` (tec)"><code>++tec</code></a>
687−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#ted-ab' title="Parse decimal number with <= 3 digits"><code>++ted:ab</code></a>
688−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#teff' title="UTF-8 length"><code>++teff</code></a>
689−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#teil-ob' title="Reverse Feistel-like cipher"><code>++teil:ob</code></a>
687+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#tedab' title="Parse decimal number with <= 3 digits"><code>++ted:ab</code></a>
688+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#teff' title="UTF8 length"><code>++teff</code></a>
689+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#teilob' title="Reverse Feistellike cipher"><code>++teil:ob</code></a>
690690<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#term' title="Hoon constant"><code>++term</code></a>
691691<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#test' title="Test for equality"><code>++test</code></a>
692−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#tid-ab' title="Parse 3 decimal digits"><code>++tid:ab</code></a>
692+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#tidab' title="Parse 3 decimal digits"><code>++tid:ab</code></a>
693693<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#tiki' title="(Undocumented)"><code>++tiki</code></a>
694−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#til-ab' title="Parse 3 lowercase letters"><code>++til:ab</code></a>
695−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#tip-ab' title="Leading phonetic byte"><code>++tip:ab</code></a>
696−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#tiq-ab' title="Trailing phonetic syllable"><code>++tiq:ab</code></a>
694+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#tilab' title="Parse 3 lowercase letters"><code>++til:ab</code></a>
695+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#tipab' title="Leading phonetic byte"><code>++tip:ab</code></a>
696+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#tiqab' title="Trailing phonetic syllable"><code>++tiq:ab</code></a>
697697<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#tis' title="Parse = (tis)"><code>++tis</code></a>
698698<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#to' title="Queue operations"><code>++to</code></a>
699−<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#tod-po' title="Fetch suffix"><code>++tod:po</code></a>
699+<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#todpo' title="Fetch suffix"><code>++tod:po</code></a>
700700<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#toga' title="Tree of faces"><code>++toga</code></a>
701−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toi-ff' title="Round IEEE float to nearest signed integer"><code>++toi:ff</code></a>
702−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toi-fl' title="Round float to nearest signed integer"><code>++toi:fl</code></a>
703−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toi-rd' title="Round double-precision float to nearest signed integer"><code>++toi:rd</code></a>
704−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toi-rh' title="Round half-precision float to nearest signed integer"><code>++toi:rh</code></a>
705−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toi-rs' title="Round single-precision float to nearest signed integer"><code>++toi:rs</code></a>
706−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toi-rq' title="Round quad-precision float to nearest signed integer"><code>++toi:rq</code></a>
707−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toj-fl' title="Round unsigned and signed integer to float"><code>++toj:fl</code></a>
701+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toiff' title="Round IEEE float to nearest signed integer"><code>++toi:ff</code></a>
702+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toifl' title="Round float to nearest signed integer"><code>++toi:fl</code></a>
703+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toird' title="Round doubleprecision float to nearest signed integer"><code>++toi:rd</code></a>
704+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toirh' title="Round halfprecision float to nearest signed integer"><code>++toi:rh</code></a>
705+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toirs' title="Round singleprecision float to nearest signed integer"><code>++toi:rs</code></a>
706+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toirq' title="Round quadprecision float to nearest signed integer"><code>++toi:rq</code></a>
707+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#tojfl' title="Round unsigned and signed integer to float"><code>++toj:fl</code></a>
708708<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#tone' title="Nock result (error report)"><code>++tone</code></a>
709709<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#toon' title="Nock result (stack trace)"><code>++toon</code></a>
710−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#top-to' title="Produce head of queue"><code>++top:to</code></a>
711−<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#tos-po' title="Fetch prefix"><code>++tos:po</code></a>
712−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#tos-rh' title="Convert half-precision float to single-precision float"><code>++tos:rh</code></a>
710+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#topto' title="Produce head of queue"><code>++top:to</code></a>
711+<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#tospo' title="Fetch prefix"><code>++tos:po</code></a>
712+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#tosrh' title="Convert halfprecision float to singleprecision float"><code>++tos:rh</code></a>
713713<a class="tooltip" href='/docs/hoon/reference/stdlib/1c/#trap' title="Core with one arm $"><code>++trap</code></a>
714714<a class="tooltip" href='/docs/hoon/reference/stdlib/1c/#tree' title="Mold generator (tree)"><code>++tree</code></a>
715715<a class="tooltip" href='/docs/hoon/reference/stdlib/1c/#trel' title="Mold generator (tuple of three types)"><code>++trel</code></a>
716716<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#trim' title="Tape split"><code>++trim</code></a>
717717<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#trip' title="Cord to tape"><code>++trip</code></a>
718−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#tuba' title="UTF-8 to UTF-32 tape"><code>++tuba</code></a>
719−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#tufa' title="UTF-32 to UTF-8 tape"><code>++tufa</code></a>
718+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#tuba' title="UTF8 to UTF32 tape"><code>++tuba</code></a>
719+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#tufa' title="UTF32 to UTF8 tape"><code>++tufa</code></a>
720720<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#tuna' title="XML template tree"><code>++tuna</code></a>
721−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#tuft' title="UTF-32 to UTF-8 text"><code>++tuft</code></a>
722−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#turf' title="UTF-8 to UTF-32 cord"><code>++turf</code></a>
721+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#tuft' title="UTF32 to UTF8 text"><code>++tuft</code></a>
722+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#turf' title="UTF8 to UTF32 cord"><code>++turf</code></a>
723723<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#turn' title="Gate to list"><code>++turn</code></a>
724724<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#tusk' title="List of expressions"><code>++tusk</code></a>
725−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#twid-so' title="Parse coins without ~ prefix"><code>++twid:so</code></a>
725+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#twidso' title="Parse coins without ~ prefix"><code>++twid:so</code></a>
726726<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#tyke' title="List of 'maybe' hoons"><code>++tyke</code></a>
727727<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#typo' title="Pointer for ++type"><code>++typo</code></a>
728728<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#tyre' title="List, term hoon"><code>++tyre</code></a>
@@ -730,57 +730,57 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
730730### u
731731
732732<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#un' title="Reversible scrambling"><code>++un</code></a>
733−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#uni-by' title="Union (map between keys of two lists)"><code>++uni:by</code></a>
734−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#uni-fl' title="Change representation to odd"><code>++uni:fl</code></a>
735−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#uni-in' title="Union (sets)"><code>++uni:in</code></a>
733+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#uniby' title="Union (map between keys of two lists)"><code>++uni:by</code></a>
734+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#unifl' title="Change representation to odd"><code>++uni:fl</code></a>
735+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#uniin' title="Union (sets)"><code>++uni:in</code></a>
736736<a class="tooltip" href='/docs/hoon/reference/stdlib/1c/#unit' title="Mold generator (maybe)"><code>++unit</code></a>
737−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#urn-by' title="Turn (with key) (map)"><code>++urn:by</code></a>
738−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#urs-ab' title="Parse span characters"><code>++urs:ab</code></a>
739−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#urt-ab' title="Parse non-_ span"><code>++urt:ab</code></a>
737+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#urnby' title="Turn (with key) (map)"><code>++urn:by</code></a>
738+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#ursab' title="Parse span characters"><code>++urs:ab</code></a>
739+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#urtab' title="Parse non_ span"><code>++urt:ab</code></a>
740740
741741### v
742742
743−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#v-ne' title="Render base 32"><code>++v:ne</code></a>
743+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#vne' title="Render base 32"><code>++v:ne</code></a>
744744<code>++vang</code>
745745<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#vase' title="Typed data"><code>++vase</code></a>
746746<code>++vast</code>
747747<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#ven' title="Axis syntax parser"><code>++ven</code></a>
748748<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#vise' title="Convert during reboot"><code>++vise</code></a>
749749<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#vit' title="Parse base 64 digit"><code>++vit</code></a>
750−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#viz-ag' title="Parse base 32 digit with dot separators"><code>++viz:ag</code></a>
750+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#vizag' title="Parse base 32 digit with dot separators"><code>++viz:ag</code></a>
751751<a class="tooltip" href='/docs/hoon/reference/stdlib/2f/#vor' title="Vertical order"><code>++vor</code></a>
752−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#voy-ab' title="Parse bas, soq, or bix"><code>++voy:ab</code></a>
752+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#voyab' title="Parse bas, soq, or bix"><code>++voy:ab</code></a>
753753<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#vul' title="Comments to null"><code>++vul</code></a>
754−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#vum-ag' title="Parse base 32 string"><code>++vum:ag</code></a>
754+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#vumag' title="Parse base 32 string"><code>++vum:ag</code></a>
755755
756756### w
757757
758−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#w-ne' title="Render base 64 digit"><code>++w:ne</code></a>
758+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#wne' title="Render base 64 digit"><code>++w:ne</code></a>
759759<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#wack' title="Coin format encode"><code>++wack</code></a>
760760<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#wain' title="List of cords"><code>++wain</code></a>
761761<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#wall' title="List of list of characters"><code>++wall</code></a>
762762<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#weld' title="Concatenate two lists"><code>++weld</code></a>
763−<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#weld-nl' title="Concatenate null-terminated nouns"><code>++weld:nl</code></a>
763+<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#weldnl' title="Concatenate nullterminated nouns"><code>++weld:nl</code></a>
764764<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#welp' title="Perfect concatenate (lists)"><code>++welp</code></a>
765765<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#wick' title="Coin format decode"><code>++wick</code></a>
766−<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#wig-re' title="++win - render tape"><code>++wig:re</code></a>
767−<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#win-re' title="Render at indent"><code>++win:re</code></a>
766+<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#wigre' title="++win render tape"><code>++wig:re</code></a>
767+<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#winre' title="Render at indent"><code>++win:re</code></a>
768768<a class="tooltip" href='/docs/hoon/reference/stdlib/4o/#wing' title="Address in subject"><code>++wing</code></a>
769−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#wiz-ag' title="Parse base 64 number"><code>++wiz:ag</code></a>
769+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#wizag' title="Parse base 64 number"><code>++wiz:ag</code></a>
770770<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#woad' title="Unescape cord"><code>++woad</code></a>
771771<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#wood' title="Escape cord"><code>++wood</code></a>
772772<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#wonk' title="Product from edge"><code>++wonk</code></a>
773−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#wred-un' title="Restore structure"><code>++wred:un</code></a>
774−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#wren-un' title="Conceal structure"><code>++wren:un</code></a>
773+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#wredun' title="Restore structure"><code>++wred:un</code></a>
774+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#wrenun' title="Conceal structure"><code>++wren:un</code></a>
775775<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#wut' title="Parse ? (wut)"><code>++wut</code></a>
776−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#wyt-by' title="Produce depth of tree map"><code>++wyt:by</code></a>
777−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#wyt-in' title="Produce number of elements in set"><code>++wyt:in</code></a>
776+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#wytby' title="Produce depth of tree map"><code>++wyt:by</code></a>
777+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#wytin' title="Produce number of elements in set"><code>++wyt:in</code></a>
778778
779779### x
780780
781−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#x-ne' title="Render hexadecimal digit as atom of ASCII byte value"><code>++x:ne</code></a>
781+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#xne' title="Render hexadecimal digit as atom of ASCII byte value"><code>++x:ne</code></a>
782782<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#xeb' title="Binary logarithm"><code>++xeb</code></a>
783−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#xpd-fl' title="Expand signed and unsigned integer cell"><code>++xpd:fl</code></a>
783+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#xpdfl' title="Expand signed and unsigned integer cell"><code>++xpd:fl</code></a>
784784
785785### y
786786
@@ -788,25 +788,25 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
788788<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yawn' title="Days since beginning of time"><code>++yawn</code></a>
789789<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#year' title="Date to @d"><code>++year</code></a>
790790<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yell' title="Tarp from atomic date"><code>++yell</code></a>
791−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yelp' title="Determine if leap-week"><code>++yelp</code></a>
792−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yer-yo' title="Seconds in year"><code>++yer:yo</code></a>
791+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yelp' title="Determine if leapweek"><code>++yelp</code></a>
792+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yeryo' title="Seconds in year"><code>++yer:yo</code></a>
793793<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yo' title="Time constants core"><code>++yo</code></a>
794794<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yore' title="Date from atomic date"><code>++yore</code></a>
795795<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yule' title="Daily time to time atom"><code>++yule</code></a>
796796
797797### z
798798
799−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#zaft-un' title="Look up in 255 sub box"><code>++zaft:un</code></a>
800−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#zag-mu' title="Add bottom into top"><code>++zag:mu</code></a>
799+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#zaftun' title="Look up in 255 sub box"><code>++zaft:un</code></a>
800+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#zagmu' title="Add bottom into top"><code>++zag:mu</code></a>
801801<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#zap' title="Parse ! (zap)"><code>++zap</code></a>
802−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#zart-un' title="Reverse look up in 255 sub box"><code>++zart:un</code></a>
803−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#zer-fl' title="Produce zero as float"><code>++zer:fl</code></a>
804−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#zig-mu' title="Subtract bottom from top"><code>++zig:mu</code></a>
802+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#zartun' title="Reverse look up in 255 sub box"><code>++zart:un</code></a>
803+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#zerfl' title="Produce zero as float"><code>++zer:fl</code></a>
804+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#zigmu' title="Subtract bottom from top"><code>++zig:mu</code></a>
805805<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#zing' title="Turn lists into single list by promoting elements from sublists"><code>++zing</code></a>
806−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#zug-mu' title="Concatenate into atom"><code>++zug:mu</code></a>
807−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#zust-so' title="Parse prefixed dimes from IP, loobean, or floating point"><code>++zust:so</code></a>
808−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#zyft-un' title="Lookup byte in 256 sub box"><code>++zyft:un</code></a>
809−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#zyrt-un' title="Reverse lookup byte in 256 sub box"><code>++zyrt:un</code></a>
806+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#zugmu' title="Concatenate into atom"><code>++zug:mu</code></a>
807+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#zustso' title="Parse prefixed dimes from IP, loobean, or floating point"><code>++zust:so</code></a>
808+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#zyftun' title="Lookup byte in 256 sub box"><code>++zyft:un</code></a>
809+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#zyrtun' title="Reverse lookup byte in 256 sub box"><code>++zyrt:un</code></a>
810810
811811## By Section
812812
@@ -851,7 +851,7 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
851851### 2a: unit logic
852852
853853<a class="tooltip" href='/docs/hoon/reference/stdlib/2a/#biff' title="Unit as argument"><code>++biff</code></a>
854−<a class="tooltip" href='/docs/hoon/reference/stdlib/2a/#bind' title="Non-unit function to unit, producing unit"><code>++bind</code></a>
854+<a class="tooltip" href='/docs/hoon/reference/stdlib/2a/#bind' title="Nonunit function to unit, producing unit"><code>++bind</code></a>
855855<a class="tooltip" href='/docs/hoon/reference/stdlib/2a/#bond' title="Replace null"><code>++bond</code></a>
856856<a class="tooltip" href='/docs/hoon/reference/stdlib/2a/#both' title="Group unit values into pair"><code>++both</code></a>
857857<a class="tooltip" href='/docs/hoon/reference/stdlib/2a/#clap' title="Apply function to two units"><code>++clap</code></a>
@@ -873,7 +873,7 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
873873<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#lent' title="List length"><code>++lent</code></a>
874874<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#levy' title="Logical AND on list"><code>++levy</code></a>
875875<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#lien' title="Logical OR on list"><code>++lien</code></a>
876−<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#limo' title="Construct list from null-terminated tuple"><code>++limo</code></a>
876+<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#limo' title="Construct list from nullterminated tuple"><code>++limo</code></a>
877877<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#murn' title="Maybe transform"><code>++murn</code></a>
878878<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#oust' title="Remove from list"><code>++oust</code></a>
879879<a class="tooltip" href='/docs/hoon/reference/stdlib/2b/#reap' title="Replicate (list)"><code>++reap</code></a>
@@ -898,14 +898,14 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
898898### 2c: bit arithmetic
899899
900900<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#fe' title="Modulo bloq"><code>++fe</code></a>
901−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#dif-fe' title="Difference between atoms (modular basis)"><code>++dif:fe</code></a>
902−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#inv-fe' title="Inverse order of modular field"><code>++inv:fe</code></a>
903−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#net-fe' title="Flip endianness"><code>++net:fe</code></a>
904−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#out-fe' title="Maximum integer value"><code>++out:fe</code></a>
905−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rol-fe' title="Roll left"><code>++rol:fe</code></a>
906−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#ror-fe' title="Roll right"><code>++ror:fe</code></a>
907−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#sit-fe' title="Enforce modulo"><code>++sit:fe</code></a>
908−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#sum-fe' title="Sum two numbers in modular field"><code>++sum:fe</code></a>
901+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#diffe' title="Difference between atoms (modular basis)"><code>++dif:fe</code></a>
902+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#invfe' title="Inverse order of modular field"><code>++inv:fe</code></a>
903+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#netfe' title="Flip endianness"><code>++net:fe</code></a>
904+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#outfe' title="Maximum integer value"><code>++out:fe</code></a>
905+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rolfe' title="Roll left"><code>++rol:fe</code></a>
906+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rorfe' title="Roll right"><code>++ror:fe</code></a>
907+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#sitfe' title="Enforce modulo"><code>++sit:fe</code></a>
908+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#sumfe' title="Sum two numbers in modular field"><code>++sum:fe</code></a>
909909
910910<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#bex' title="Binary exponent"><code>++bex</code></a>
911911<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#can' title="Assemble"><code>++can</code></a>
@@ -913,12 +913,12 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
913913<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#cut' title="Slice"><code>++cut</code></a>
914914<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#end' title="Tail"><code>++end</code></a>
915915<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#fil' title="Fill bloqstream"><code>++fil</code></a>
916−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#lsh' title="Left-shift"><code>++lsh</code></a>
916+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#lsh' title="Leftshift"><code>++lsh</code></a>
917917<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#met' title="Measure"><code>++met</code></a>
918−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rap' title="Assemble non-zero"><code>++rap</code></a>
918+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rap' title="Assemble nonzero"><code>++rap</code></a>
919919<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rep' title="Assemble single"><code>++rep</code></a>
920920<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rip' title="Disassemble"><code>++rip</code></a>
921−<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rsh' title="Right-shift"><code>++rsh</code></a>
921+<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#rsh' title="Rightshift"><code>++rsh</code></a>
922922<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#swp' title="Reverse block order"><code>++swp</code></a>
923923<a class="tooltip" href='/docs/hoon/reference/stdlib/2c/#xeb' title="Binary logarithm"><code>++xeb</code></a>
924924
@@ -932,9 +932,9 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
932932### 2e: insecure hashing
933933
934934<a class="tooltip" href='/docs/hoon/reference/stdlib/2e/#fnv' title="FNV scrambler"><code>++fnv</code></a>
935−<a class="tooltip" href='/docs/hoon/reference/stdlib/2e/#mug' title="FNV-1a scrambler"><code>++mug</code></a>
935+<a class="tooltip" href='/docs/hoon/reference/stdlib/2e/#mug' title="FNV1a scrambler"><code>++mug</code></a>
936936<a class="tooltip" href='/docs/hoon/reference/stdlib/2e/#muk' title="Standard MurmurHash3"><code>++muk</code></a>
937−<a class="tooltip" href='/docs/hoon/reference/stdlib/2e/#mum' title="31-bit MurmurHash3 scrambler"><code>++mum</code></a>
937+<a class="tooltip" href='/docs/hoon/reference/stdlib/2e/#mum' title="31bit MurmurHash3 scrambler"><code>++mum</code></a>
938938
939939### 2f: noun ordering
940940
@@ -953,72 +953,72 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
953953### 2h: set logic
954954
955955<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#in'><code>++in</code></a>
956−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#all-in' title="Logical AND (set and wet gate)"><code>++all:in</code></a>
957−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#any-in' title="Logical OR (set and gate)"><code>++any:in</code></a>
958−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#apt-in' title="Check correctness (set)"><code>++apt:in</code></a>
959−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#bif-in' title="Bifurcate set"><code>++bif:in</code></a>
960−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#del-in' title="Delete (set)"><code>++del:in</code></a>
961−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#dif-in' title='Difference (set)'><code>++dif:in</code></a>
962−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#dig-in' title="Address of a in set"><code>++dig:in</code></a>
963−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#gas-in' title="Concatenate (set)"><code>++gas:in</code></a>
964−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#has-in' title="Key existence check (set)"><code>++has:in</code></a>
965−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#int-in' title="Intersection (set)"><code>++int:in</code></a>
966−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#put-in' title="Put b in a (set)"><code>++put:in</code></a>
967−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#rep-in' title="Accumulate elements (set)"><code>++rep:in</code></a>
968−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#run-in' title="Apply gate to set"><code>++run:in</code></a>
969−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#tap-in' title="Flatten set into list"><code>++tap:in</code></a>
970−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#uni-in' title="Union (sets)"><code>++uni:in</code></a>
971−<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#wyt-in' title="Produce number of elements in set"><code>++wyt:in</code></a>
956+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#allin' title="Logical AND (set and wet gate)"><code>++all:in</code></a>
957+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#anyin' title="Logical OR (set and gate)"><code>++any:in</code></a>
958+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#aptin' title="Check correctness (set)"><code>++apt:in</code></a>
959+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#bifin' title="Bifurcate set"><code>++bif:in</code></a>
960+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#delin' title="Delete (set)"><code>++del:in</code></a>
961+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#difin' title='Difference (set)'><code>++dif:in</code></a>
962+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#digin' title="Address of a in set"><code>++dig:in</code></a>
963+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#gasin' title="Concatenate (set)"><code>++gas:in</code></a>
964+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#hasin' title="Key existence check (set)"><code>++has:in</code></a>
965+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#intin' title="Intersection (set)"><code>++int:in</code></a>
966+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#putin' title="Put b in a (set)"><code>++put:in</code></a>
967+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#repin' title="Accumulate elements (set)"><code>++rep:in</code></a>
968+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#runin' title="Apply gate to set"><code>++run:in</code></a>
969+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#tapin' title="Flatten set into list"><code>++tap:in</code></a>
970+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#uniin' title="Union (sets)"><code>++uni:in</code></a>
971+<a class="tooltip" href='/docs/hoon/reference/stdlib/2h/#wytin' title="Produce number of elements in set"><code>++wyt:in</code></a>
972972
973973### 2i: map logic
974974
975975<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#by' title="Map operations"><code>++by</code></a>
976−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#all-by' title="Logical AND (map and wet gate)"><code>++all:by</code></a>
977−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#any-by' title="Logical OR (map and wet gate)"><code>++any:by</code></a>
978−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#apt-by' title="Check correctness (map)"><code>++apt:by</code></a>
979−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#bif-by' title="Bifurcate map"><code>++bif:by</code></a>
980−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#del-by' title="Delete (map)"><code>++del:by</code></a>
981−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#dig-by' title="Address of key (map)"><code>++dig:by</code></a>
982−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#gas-by' title="Concatenate (map)"><code>++gas:by</code></a>
983−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#get-by' title="Grab unit value"><code>++get:by</code></a>
984−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#got-by' title="Assert for value (map)"><code>++got:by</code></a>
985−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#has-by' title="Key existence check (map)"><code>++has:by</code></a>
986−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#int-by' title="Intersection (map)"><code>++int:by</code></a>
987−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#mar-by' title="Assert and add (map)"><code>++mar:by</code></a>
988−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#put-by' title="Add key-value pair (map)"><code>++put:by</code></a>
989−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#rep-by' title="Replace by product (map)"><code>++rep:by</code></a>
990−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#rib-by' title="Replace values with accumulator (map)"><code>++rib:by</code></a>
991−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#run-by' title="Transform values (map)"><code>++run:by</code></a>
992−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#rut-by' title="Transform nodes (map)"><code>++rut:by</code></a>
993−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#tap-by' title="Listify pairs"><code>++tap:by</code></a>
994−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#uni-by' title="Union (map between keys of two lists)"><code>++uni:by</code></a>
995−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#urn-by' title="Turn (with key) (map)"><code>++urn:by</code></a>
996−<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#wyt-by' title="Produce depth of tree map"><code>++wyt:by</code></a>
976+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#allby' title="Logical AND (map and wet gate)"><code>++all:by</code></a>
977+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#anyby' title="Logical OR (map and wet gate)"><code>++any:by</code></a>
978+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#aptby' title="Check correctness (map)"><code>++apt:by</code></a>
979+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#bifby' title="Bifurcate map"><code>++bif:by</code></a>
980+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#delby' title="Delete (map)"><code>++del:by</code></a>
981+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#digby' title="Address of key (map)"><code>++dig:by</code></a>
982+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#gasby' title="Concatenate (map)"><code>++gas:by</code></a>
983+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#getby' title="Grab unit value"><code>++get:by</code></a>
984+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#gotby' title="Assert for value (map)"><code>++got:by</code></a>
985+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#hasby' title="Key existence check (map)"><code>++has:by</code></a>
986+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#intby' title="Intersection (map)"><code>++int:by</code></a>
987+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#marby' title="Assert and add (map)"><code>++mar:by</code></a>
988+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#putby' title="Add keyvalue pair (map)"><code>++put:by</code></a>
989+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#repby' title="Replace by product (map)"><code>++rep:by</code></a>
990+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#ribby' title="Replace values with accumulator (map)"><code>++rib:by</code></a>
991+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#runby' title="Transform values (map)"><code>++run:by</code></a>
992+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#rutby' title="Transform nodes (map)"><code>++rut:by</code></a>
993+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#tapby' title="Listify pairs"><code>++tap:by</code></a>
994+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#uniby' title="Union (map between keys of two lists)"><code>++uni:by</code></a>
995+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#urnby' title="Turn (with key) (map)"><code>++urn:by</code></a>
996+<a class="tooltip" href='/docs/hoon/reference/stdlib/2i/#wytby' title="Produce depth of tree map"><code>++wyt:by</code></a>
997997
998998### 2j: jar and jug logic
999999
10001000<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#ja' title="Jar engine"><code>++ja</code></a>
1001−<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#add-ja' title="Prepend to list"><code>++add:ja</code></a>
1002−<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#get-ja' title="Grab value by key"><code>++get:ja</code></a>
1001+<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#addja' title="Prepend to list"><code>++add:ja</code></a>
1002+<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#getja' title="Grab value by key"><code>++get:ja</code></a>
10031003
10041004<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#ju' title="Jug operations"><code>++ju</code></a>
1005−<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#del-ju' title="Delete (jug)"><code>++del:ju</code></a>
1006−<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#get-ju' title="Retrieve set"><code>++get:ju</code></a>
1007−<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#has-ju' title="Check contents (jug)"><code>++has:ju</code></a>
1008−<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#put-ju' title="Add key-set pair (jar)"><code>++put:ju</code></a>
1005+<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#delju' title="Delete (jug)"><code>++del:ju</code></a>
1006+<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#getju' title="Retrieve set"><code>++get:ju</code></a>
1007+<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#hasju' title="Check contents (jug)"><code>++has:ju</code></a>
1008+<a class="tooltip" href='/docs/hoon/reference/stdlib/2j/#putju' title="Add keyset pair (jar)"><code>++put:ju</code></a>
10091009
10101010### 2k: queue logic
10111011
10121012<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#to' title="Queue operations"><code>++to</code></a>
1013−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#bal-to' title="Balance queue"><code>++bal:to</code></a>
1014−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#dep-to' title="Maximum depth (queue)"><code>++dep:to</code></a>
1015−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#gas-to' title="Push list into queue"><code>++gas:to</code></a>
1016−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#get-to' title="Head-tail pair"><code>++get:to</code></a>
1017−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#nap-to' title="Remove head of queue"><code>++nap:to</code></a>
1018−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#nip-to' title="Remove root of queue"><code>++nip:to</code></a>
1019−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#put-to' title="Insert into queue"><code>++put:to</code></a>
1020−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#tap-to' title="Queue to list"><code>++tap:to</code></a>
1021−<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#top-to' title="Produce head of queue"><code>++top:to</code></a>
1013+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#balto' title="Balance queue"><code>++bal:to</code></a>
1014+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#depto' title="Maximum depth (queue)"><code>++dep:to</code></a>
1015+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#gasto' title="Push list into queue"><code>++gas:to</code></a>
1016+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#getto' title="Headtail pair"><code>++get:to</code></a>
1017+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#napto' title="Remove head of queue"><code>++nap:to</code></a>
1018+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#nipto' title="Remove root of queue"><code>++nip:to</code></a>
1019+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#putto' title="Insert into queue"><code>++put:to</code></a>
1020+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#tapto' title="Queue to list"><code>++tap:to</code></a>
1021+<a class="tooltip" href='/docs/hoon/reference/stdlib/2k/#topto' title="Produce head of queue"><code>++top:to</code></a>
10221022
10231023### 2l: container from container
10241024
@@ -1029,21 +1029,21 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
10291029### 2m: container from noun
10301030
10311031<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#nl' title="Noun to container operations"><code>++nl</code></a>
1032−<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#le-nl' title="Construct list from null-terminated noun"><code>++le:nl</code></a>
1033−<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#my-nl' title="Construct map from null-terminated noun"><code>++my:nl</code></a>
1034−<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#si-nl' title="Construct set from null-terminated noun"><code>++si:nl</code></a>
1035−<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#snag-nl' title="Produce element from list at specific null-terminated noun"><code>++snag:nl</code></a>
1036−<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#weld-nl' title="Concatenate null-terminated nouns"><code>++weld:nl</code></a>
1032+<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#lenl' title="Construct list from nullterminated noun"><code>++le:nl</code></a>
1033+<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#mynl' title="Construct map from nullterminated noun"><code>++my:nl</code></a>
1034+<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#sinl' title="Construct set from nullterminated noun"><code>++si:nl</code></a>
1035+<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#snagnl' title="Produce element from list at specific nullterminated noun"><code>++snag:nl</code></a>
1036+<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#weldnl' title="Concatenate nullterminated nouns"><code>++weld:nl</code></a>
10371037
10381038<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#ly' title="List from raw noun"><code>++ly</code></a>
10391039<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#my' title="Map from raw noun"><code>++my</code></a>
1040−<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#sy' title="Produce set from null-terminated noun"><code>++sy</code></a>
1040+<a class="tooltip" href='/docs/hoon/reference/stdlib/2m/#sy' title="Produce set from nullterminated noun"><code>++sy</code></a>
10411041
10421042### 2n: functional hacks
10431043
10441044<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#cork' title="Compose forward"><code>++cork</code></a>
10451045<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#corl' title="Compose backward"><code>++corl</code></a>
1046−<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#curr' title="Right-curry a gate"><code>++curr</code></a>
1046+<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#curr' title="Rightcurry a gate"><code>++curr</code></a>
10471047<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#cury' title="Curry left a gate"><code>++cury</code></a>
10481048<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#hard' title="Force remold"><code>++hard</code></a>
10491049<a class="tooltip" href='/docs/hoon/reference/stdlib/2n/#head' title="Get head of cell"><code>++head</code></a>
@@ -1066,17 +1066,17 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
10661066
10671067<a class="tooltip" href='/docs/hoon/reference/stdlib/2p/#cue' title="Unpack atom to noun"><code>++cue</code></a>
10681068<a class="tooltip" href='/docs/hoon/reference/stdlib/2p/#jam' title="Pack noun to atom"><code>++jam</code></a>
1069−<a class="tooltip" href='/docs/hoon/reference/stdlib/2p/#mat' title="Length-encode"><code>++mat</code></a>
1070−<a class="tooltip" href='/docs/hoon/reference/stdlib/2p/#rub' title="Length-decode"><code>++rub</code></a>
1069+<a class="tooltip" href='/docs/hoon/reference/stdlib/2p/#mat' title="Lengthencode"><code>++mat</code></a>
1070+<a class="tooltip" href='/docs/hoon/reference/stdlib/2p/#rub' title="Lengthdecode"><code>++rub</code></a>
10711071
10721072### 2q: molds and mold builders
10731073
10741074<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#char' title="Character"><code>++char</code></a>
1075−<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#cord' title="UTF-8 text"><code>++cord</code></a>
1075+<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#cord' title="UTF8 text"><code>++cord</code></a>
10761076<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#date' title="Point in time"><code>++date</code></a>
10771077<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#knot' title="Atom type of ASCII characters"><code>++knot</code></a>
10781078<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#tang' title="Generic print structure"><code>++tang</code></a>
1079−<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#tank' title="Pretty-printing structure"><code>++tank</code></a>
1079+<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#tank' title="Prettyprinting structure"><code>++tank</code></a>
10801080<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#tape' title="List of characters"><code>++tape</code></a>
10811081<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#tarp' title="Parsed time"><code>++tarp</code></a>
10821082<a class="tooltip" href='/docs/hoon/reference/stdlib/2q/#term' title="Hoon constant"><code>++term</code></a>
@@ -1086,27 +1086,27 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
10861086### 3a: modular and signed ints
10871087
10881088<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#fo' title="Modulo prime"><code>++fo</code></a>
1089−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#dif-fo' title='Subtraction (modular base)'><code>++dif:fo</code></a>
1090−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#exp-fo' title="Exponent (modular base)"><code>++exp:fo</code></a>
1091−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#fra-fo' title="Divide (modular base)"><code>++fra:fo</code></a>
1092−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#inv-fo' title="Inverse (signed modulus)"><code>++inv:fo</code></a>
1093−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#pro-fo' title="Multiplies b and c modulo a"><code>++pro:fo</code></a>
1094−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#sit-fo' title="Produce remainder of b modulo a"><code>++sit:fo</code></a>
1095−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#sum-fo' title="Modular sum"><code>++sum:fo</code></a>
1089+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#diffo' title='Subtraction (modular base)'><code>++dif:fo</code></a>
1090+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#expfo' title="Exponent (modular base)"><code>++exp:fo</code></a>
1091+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#frafo' title="Divide (modular base)"><code>++fra:fo</code></a>
1092+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#invfo' title="Inverse (signed modulus)"><code>++inv:fo</code></a>
1093+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#profo' title="Multiplies b and c modulo a"><code>++pro:fo</code></a>
1094+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#sitfo' title="Produce remainder of b modulo a"><code>++sit:fo</code></a>
1095+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#sumfo' title="Modular sum"><code>++sum:fo</code></a>
10961096
10971097<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#si' title="Signed integer"><code>++si</code></a>
1098−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#abs-si' title="Absolute value (signed integer)"><code>++abs:si</code></a>
1099−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#cmp-si' title="Compare (signed integer)"><code>++cmp:si</code></a>
1100−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#dif-si' title="Subtraction (signed integer)"><code>++dif:si</code></a>
1101−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#dul-si' title="Modulus (signed integer)"><code>++dul:si</code></a>
1102−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#fra-si' title="Divide (signed integer)"><code>++fra:si</code></a>
1103−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#new-si' title="Atom to @s"><code>++new:si</code></a>
1104−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#old-si' title="Sign and absolute value"><code>++old:si</code></a>
1105−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#pro-si' title="Multiply to signed integer"><code>++pro:si</code></a>
1106−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#rem-si' title="Remainder (signed integer)"><code>++rem:si</code></a>
1107−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#sum-si' title="Addition (signed integer)"><code>++sum:si</code></a>
1108−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#sun-si' title="@u to @s"><code>++sun:si</code></a>
1109−<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#syn-si' title="Sign test"><code>++syn:si</code></a>
1098+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#abssi' title="Absolute value (signed integer)"><code>++abs:si</code></a>
1099+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#cmpsi' title="Compare (signed integer)"><code>++cmp:si</code></a>
1100+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#difsi' title="Subtraction (signed integer)"><code>++dif:si</code></a>
1101+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#dulsi' title="Modulus (signed integer)"><code>++dul:si</code></a>
1102+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#frasi' title="Divide (signed integer)"><code>++fra:si</code></a>
1103+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#newsi' title="Atom to @s"><code>++new:si</code></a>
1104+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#oldsi' title="Sign and absolute value"><code>++old:si</code></a>
1105+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#prosi' title="Multiply to signed integer"><code>++pro:si</code></a>
1106+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#remsi' title="Remainder (signed integer)"><code>++rem:si</code></a>
1107+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#sumsi' title="Addition (signed integer)"><code>++sum:si</code></a>
1108+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#sunsi' title="@u to @s"><code>++sun:si</code></a>
1109+<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#synsi' title="Sign test"><code>++syn:si</code></a>
11101110
11111111<a class="tooltip" href='/docs/hoon/reference/stdlib/3a/#egcd' title="Extended Euclidean algorithm"><code>++egcd</code></a>
11121112
@@ -1117,167 +1117,167 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
11171117<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#rn'><code>++rn</code></a>
11181118
11191119<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#ff'><code>++ff</code></a>
1120−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#add-ff' title="Add (floating point)"><code>++add:ff</code></a>
1121−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bif-ff' title="Converts from fn to @r"><code>++bif:ff</code></a>
1122−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bit-ff' title="fn to @r with rounding"><code>++bit:ff</code></a>
1123−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#div-ff' title="Divide (IEEE float)"><code>++div:ff</code></a>
1124−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drg-ff' title="@r to decimal float"><code>++drg:ff</code></a>
1125−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equ-ff' title="Equals (IEEE float)"><code>++equ:ff</code></a>
1126−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exp-ff' title="Get exponent (IEEE float)"><code>++exp:ff</code></a>
1127−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fma-ff' title="Fused multiply-add (IEEE float)"><code>++fma:ff</code></a>
1128−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grd-ff' title="Decimal float to @r"><code>++grd:ff</code></a>
1129−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gte-ff' title="Greater than / equal (IEEE float)"><code>++gte:ff</code></a>
1130−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gth-ff' title="Greater than (IEEE float)"><code>++gth:ff</code></a>
1131−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lte-ff' title="Less than / equal (IEEE float)"><code>++lte:ff</code></a>
1132−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lth-ff' title="Less than (IEEE float)"><code>++lth:ff</code></a>
1133−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#me-ff' title="Minimum exponent of ff"><code>++me:ff</code></a>
1134−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mul-ff' title="Multiply (IEEE float)"><code>++mul:ff</code></a>
1135−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#pa-ff' title="Initialize fl from ff core"><code>++pa:ff</code></a>
1136−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#san-ff' title="Signed integer to @r"><code>++san:ff</code></a>
1137−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sb-ff' title="Sign bit"><code>++sb:ff</code></a>
1138−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sea-ff' title="Convert from IEEE float to fn"><code>++sea:ff</code></a>
1139−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sig-ff' title="Produce sign of IEEE float"><code>++sig:ff</code></a>
1140−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqt-ff' title="Produce square root from IEEE float"><code>++sqt:ff</code></a>
1141−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sub-ff' title="Subtract from IEEE float"><code>++sub:ff</code></a>
1142−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sun-ff' title="Unsigned integer to IEEE float"><code>++sun:ff</code></a>
1143−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toi-ff' title="Round IEEE float to nearest signed integer"><code>++toi:ff</code></a>
1120+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#addff' title="Add (floating point)"><code>++add:ff</code></a>
1121+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bifff' title="Converts from fn to @r"><code>++bif:ff</code></a>
1122+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bitff' title="fn to @r with rounding"><code>++bit:ff</code></a>
1123+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#divff' title="Divide (IEEE float)"><code>++div:ff</code></a>
1124+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drgff' title="@r to decimal float"><code>++drg:ff</code></a>
1125+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equff' title="Equals (IEEE float)"><code>++equ:ff</code></a>
1126+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#expff' title="Get exponent (IEEE float)"><code>++exp:ff</code></a>
1127+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fmaff' title="Fused multiplyadd (IEEE float)"><code>++fma:ff</code></a>
1128+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grdff' title="Decimal float to @r"><code>++grd:ff</code></a>
1129+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gteff' title="Greater than / equal (IEEE float)"><code>++gte:ff</code></a>
1130+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gthff' title="Greater than (IEEE float)"><code>++gth:ff</code></a>
1131+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lteff' title="Less than / equal (IEEE float)"><code>++lte:ff</code></a>
1132+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lthff' title="Less than (IEEE float)"><code>++lth:ff</code></a>
1133+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#meff' title="Minimum exponent of ff"><code>++me:ff</code></a>
1134+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mulff' title="Multiply (IEEE float)"><code>++mul:ff</code></a>
1135+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#paff' title="Initialize fl from ff core"><code>++pa:ff</code></a>
1136+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sanff' title="Signed integer to @r"><code>++san:ff</code></a>
1137+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sbff' title="Sign bit"><code>++sb:ff</code></a>
1138+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#seaff' title="Convert from IEEE float to fn"><code>++sea:ff</code></a>
1139+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sigff' title="Produce sign of IEEE float"><code>++sig:ff</code></a>
1140+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqtff' title="Produce square root from IEEE float"><code>++sqt:ff</code></a>
1141+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#subff' title="Subtract from IEEE float"><code>++sub:ff</code></a>
1142+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sunff' title="Unsigned integer to IEEE float"><code>++sun:ff</code></a>
1143+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toiff' title="Round IEEE float to nearest signed integer"><code>++toi:ff</code></a>
11441144
11451145<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fl'><code>++fl</code></a>
1146−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#abs-fl' title="Absolute value"><code>++abs:fl</code></a>
1147−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#add-fl' title="Add (with exact/rounded flag)"><code>++add:fl</code></a>
1148−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#den-fl' title="Denormalizes (floating point)"><code>++den:fl</code></a>
1149−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#div-fl' title="Divide (signed and unsigned integer cell)"><code>++div:fl</code></a>
1150−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drg-fl' title="Get printable decimal (signed and unsigned integer cell)"><code>++drg:fl</code></a>
1151−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#ead-fl' title="Exact add"><code>++ead:fl</code></a>
1152−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#emn-fl' title="Minimum exponent"><code>++emn:fl</code></a>
1153−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#emu-fl' title="Exact multiply"><code>++emu:fl</code></a>
1154−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#emx-fl' title="Maximum exponent"><code>++emx:fl</code></a>
1155−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equ-fl' title="Equals (signed and unsigned integer cell)"><code>++equ:fl</code></a>
1156−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fli-fl' title="Flip sign"><code>++fli:fl</code></a>
1157−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fma-fl' title="Fused multiply-add"><code>++fma:fl</code></a>
1158−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grd-fl' title="Decimal to float"><code>++grd:fl</code></a>
1159−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gte-fl' title="Greater than / equal (producing flag)"><code>++gte:fl</code></a>
1160−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gth-fl' title="Greater than (producing flag)"><code>++gth:fl</code></a>
1161−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#ibl-fl' title="Integer binary logarithm"><code>++ibl:fl</code></a>
1162−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#inv-fl' title="Inverse"><code>++inv:fl</code></a>
1163−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lfe-fl' title="Maximum"><code>++lfe:fl</code></a>
1164−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lfn-fl' title="Largest normal float"><code>++lfn:fl</code></a>
1165−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lte-fl' title="Less than / equal (producing flag)"><code>++lte:fl</code></a>
1166−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lth-fl' title="Less than (signed and unsigned integer cell)"><code>++lth:fl</code></a>
1167−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lug-fl' title="Central rounding mechanism"><code>++lug:fl</code></a>
1168−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mul-fl' title="Multiply (signed and unsigned integer cell)"><code>++mul:fl</code></a>
1169−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#ned-fl' title="Require float"><code>++ned:fl</code></a>
1170−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#prc-fl' title="Force precision of 2 or greater (floating point)"><code>++prc:fl</code></a>
1171−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#rau-fl' title="Various roundings (floating point)"><code>++rau:fl</code></a>
1172−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#rou-fl' title="Round to nearest float with 113-bit significand"><code>++rou:fl</code></a>
1173−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#san-fl' title="Signed integer to float"><code>++san:fl</code></a>
1174−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#shf-fl' title="Shift power"><code>++shf:fl</code></a>
1175−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#spd-fl' title="Produce smallest denormalized float"><code>++spd:fl</code></a>
1176−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#spn-fl' title="Produce smallest normal float"><code>++spn:fl</code></a>
1177−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqt-fl' title="Produce square root from signed and unsigned integer cell"><code>++sqt:fl</code></a>
1178−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sub-fl' title="Subtract from signed and unsigned integer cells"><code>++sub:fl</code></a>
1179−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sun-fl' title="Unsigned integer to float"><code>++sun:fl</code></a>
1180−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#swr-fl' title="Switch rounding mode of floating point"><code>++swr:fl</code></a>
1181−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#syn-fl' title="Get sign"><code>++syn:fl</code></a>
1182−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toi-fl' title="Round float to nearest signed integer"><code>++toi:fl</code></a>
1183−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toj-fl' title="Round unsigned and signed integer to float"><code>++toj:fl</code></a>
1184−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#uni-fl' title="Change representation to odd"><code>++uni:fl</code></a>
1185−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#xpd-fl' title="Expand signed and unsigned integer cell"><code>++xpd:fl</code></a>
1186−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#zer-fl' title="Produce zero as float"><code>++zer:fl</code></a>
1146+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#absfl' title="Absolute value"><code>++abs:fl</code></a>
1147+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#addfl' title="Add (with exact/rounded flag)"><code>++add:fl</code></a>
1148+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#denfl' title="Denormalizes (floating point)"><code>++den:fl</code></a>
1149+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#divfl' title="Divide (signed and unsigned integer cell)"><code>++div:fl</code></a>
1150+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drgfl' title="Get printable decimal (signed and unsigned integer cell)"><code>++drg:fl</code></a>
1151+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#eadfl' title="Exact add"><code>++ead:fl</code></a>
1152+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#emnfl' title="Minimum exponent"><code>++emn:fl</code></a>
1153+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#emufl' title="Exact multiply"><code>++emu:fl</code></a>
1154+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#emxfl' title="Maximum exponent"><code>++emx:fl</code></a>
1155+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equfl' title="Equals (signed and unsigned integer cell)"><code>++equ:fl</code></a>
1156+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#flifl' title="Flip sign"><code>++fli:fl</code></a>
1157+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fmafl' title="Fused multiplyadd"><code>++fma:fl</code></a>
1158+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grdfl' title="Decimal to float"><code>++grd:fl</code></a>
1159+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gtefl' title="Greater than / equal (producing flag)"><code>++gte:fl</code></a>
1160+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gthfl' title="Greater than (producing flag)"><code>++gth:fl</code></a>
1161+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#iblfl' title="Integer binary logarithm"><code>++ibl:fl</code></a>
1162+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#invfl' title="Inverse"><code>++inv:fl</code></a>
1163+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lfefl' title="Maximum"><code>++lfe:fl</code></a>
1164+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lfnfl' title="Largest normal float"><code>++lfn:fl</code></a>
1165+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#ltefl' title="Less than / equal (producing flag)"><code>++lte:fl</code></a>
1166+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lthfl' title="Less than (signed and unsigned integer cell)"><code>++lth:fl</code></a>
1167+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lugfl' title="Central rounding mechanism"><code>++lug:fl</code></a>
1168+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mulfl' title="Multiply (signed and unsigned integer cell)"><code>++mul:fl</code></a>
1169+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#nedfl' title="Require float"><code>++ned:fl</code></a>
1170+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#prcfl' title="Force precision of 2 or greater (floating point)"><code>++prc:fl</code></a>
1171+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#raufl' title="Various roundings (floating point)"><code>++rau:fl</code></a>
1172+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#roufl' title="Round to nearest float with 113bit significand"><code>++rou:fl</code></a>
1173+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sanfl' title="Signed integer to float"><code>++san:fl</code></a>
1174+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#shffl' title="Shift power"><code>++shf:fl</code></a>
1175+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#spdfl' title="Produce smallest denormalized float"><code>++spd:fl</code></a>
1176+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#spnfl' title="Produce smallest normal float"><code>++spn:fl</code></a>
1177+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqtfl' title="Produce square root from signed and unsigned integer cell"><code>++sqt:fl</code></a>
1178+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#subfl' title="Subtract from signed and unsigned integer cells"><code>++sub:fl</code></a>
1179+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sunfl' title="Unsigned integer to float"><code>++sun:fl</code></a>
1180+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#swrfl' title="Switch rounding mode of floating point"><code>++swr:fl</code></a>
1181+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#synfl' title="Get sign"><code>++syn:fl</code></a>
1182+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toifl' title="Round float to nearest signed integer"><code>++toi:fl</code></a>
1183+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#tojfl' title="Round unsigned and signed integer to float"><code>++toj:fl</code></a>
1184+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#unifl' title="Change representation to odd"><code>++uni:fl</code></a>
1185+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#xpdfl' title="Expand signed and unsigned integer cell"><code>++xpd:fl</code></a>
1186+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#zerfl' title="Produce zero as float"><code>++zer:fl</code></a>
11871187
11881188<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#rd'><code>++rd</code></a>
1189−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#add-rd' title="Add (double-precision float)"><code>++add:rd</code></a>
1190−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bit-rd' title="fn to double-precision binary float"><code>++bit:rd</code></a>
1191−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#div-rd' title="Double precision float"><code>++div:rd</code></a>
1192−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drg-rd' title="@rd to decimal float"><code>++drg:rd</code></a>
1193−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equ-rd' title="Equals (double-precision float)"><code>++equ:rd</code></a>
1194−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exp-rd' title="Exponent (@rd)"><code>++exp:rd</code></a>
1195−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fma-rd' title="Fused multiply-add (@rd)"><code>++fma:rd</code></a>
1196−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grd-rd' title="Decimal float to @rd"><code>++grd:rd</code></a>
1197−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gte-rd' title="Greater than / equal (double-precision float)"><code>++gte:rd</code></a>
1198−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gth-rd' title="Greater than (double-precision float)"><code>++gth:rd</code></a>
1199−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lte-rd' title="Less than / equal (double-precision float)"><code>++lte:rd</code></a>
1200−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lth-rd' title="Less than (double-precision float)"><code>++lth:rd</code></a>
1201−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#ma-rd' title="Initialize ff (rd core)"><code>++ma:rd</code></a>
1202−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mul-rd' title="Multiply (double-precision float)"><code>++mul:rd</code></a>
1203−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#san-rd' title="Unsigned integer to @rd"><code>++san:rd</code></a>
1204−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sea-rd' title="Convert from double-precision binary float to fn"><code>++sea:rd</code></a>
1205−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sig-rd' title="Produce sign of @rd"><code>++sig:rd</code></a>
1206−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqt-rd' title="Produce square root of double-precision float"><code>++sqt:rd</code></a>
1207−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sub-rd' title="Subtract from double-precision float"><code>++sub:rd</code></a>
1208−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sun-rd' title="Unsigned integer to double-precision float"><code>++sun:rd</code></a>
1209−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toi-rd' title="Round double-precision float to nearest signed integer"><code>++toi:rd</code></a>
1189+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#addrd' title="Add (doubleprecision float)"><code>++add:rd</code></a>
1190+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bitrd' title="fn to doubleprecision binary float"><code>++bit:rd</code></a>
1191+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#divrd' title="Double precision float"><code>++div:rd</code></a>
1192+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drgrd' title="@rd to decimal float"><code>++drg:rd</code></a>
1193+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equrd' title="Equals (doubleprecision float)"><code>++equ:rd</code></a>
1194+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exprd' title="Exponent (@rd)"><code>++exp:rd</code></a>
1195+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fmard' title="Fused multiplyadd (@rd)"><code>++fma:rd</code></a>
1196+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grdrd' title="Decimal float to @rd"><code>++grd:rd</code></a>
1197+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gterd' title="Greater than / equal (doubleprecision float)"><code>++gte:rd</code></a>
1198+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gthrd' title="Greater than (doubleprecision float)"><code>++gth:rd</code></a>
1199+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lterd' title="Less than / equal (doubleprecision float)"><code>++lte:rd</code></a>
1200+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lthrd' title="Less than (doubleprecision float)"><code>++lth:rd</code></a>
1201+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mard' title="Initialize ff (rd core)"><code>++ma:rd</code></a>
1202+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mulrd' title="Multiply (doubleprecision float)"><code>++mul:rd</code></a>
1203+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sanrd' title="Unsigned integer to @rd"><code>++san:rd</code></a>
1204+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#seard' title="Convert from doubleprecision binary float to fn"><code>++sea:rd</code></a>
1205+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sigrd' title="Produce sign of @rd"><code>++sig:rd</code></a>
1206+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqtrd' title="Produce square root of doubleprecision float"><code>++sqt:rd</code></a>
1207+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#subrd' title="Subtract from doubleprecision float"><code>++sub:rd</code></a>
1208+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sunrd' title="Unsigned integer to doubleprecision float"><code>++sun:rd</code></a>
1209+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toird' title="Round doubleprecision float to nearest signed integer"><code>++toi:rd</code></a>
12101210
12111211<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#rh'><code>++rh</code></a>
1212−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#add-rh' title="Add (half-precision float)"><code>++add:rh</code></a>
1213−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bit-rh' title="fn to half-precision float"><code>++bit:rh</code></a>
1214−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#div-rh' title="Divide (half-precision float)"><code>++div:rh</code></a>
1215−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drg-rh' title="@rh to decimal float"><code>++drg:rh</code></a>
1216−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equ-rh' title="Equals (half-precision float)"><code>++equ:rh</code></a>
1217−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exp-rh' title="Exponent (half-precision float)"><code>++exp:rh</code></a>
1218−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fma-rh' title="Fused multiply-add (half-precision float)"><code>++fma:rh</code></a>
1219−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fos-rh' title="@rs to @rh"><code>++fos:rh</code></a>
1220−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grd-rh' title="Decimal float to @rh"><code>++grd:rh</code></a>
1221−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gte-rh' title="Greater than / equal (half-precision float)"><code>++gte:rh</code></a>
1222−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gth-rh' title="Greater than (half-precision float)"><code>++gth:rh</code></a>
1223−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lte-rh' title="Less than / equal (half-precision float)"><code>++lte:rh</code></a>
1224−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lth-rh' title="Less than (half-precision float)"><code>++lth:rh</code></a>
1225−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#ma-rh' title="Initialize ff (rh core)"><code>++ma:rh</code></a>
1226−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mul-rh' title="Multiply (quad-precision float)"><code>++mul:rh</code></a>
1227−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#san-rh' title="Signed integer to @rh"><code>++san:rh</code></a>
1228−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sea-rh' title="Convert from half-precision float to fn"><code>++sea:rh</code></a>
1229−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sig-rh' title="Produce sign of half-precision float"><code>++sig:rh</code></a>
1230−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqt-rh' title="Produce square root of half-precision float"><code>++sqt:rh</code></a>
1231−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sub-rh' title="Subtract from half-precision float"><code>++sub:rh</code></a>
1232−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sun-rh' title="Unsigned integer to half-precision float"><code>++sun:rh</code></a>
1233−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toi-rh' title="Round half-precision float to nearest signed integer"><code>++toi:rh</code></a>
1234−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#tos-rh' title="Convert half-precision float to single-precision float"><code>++tos:rh</code></a>
1212+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#addrh' title="Add (halfprecision float)"><code>++add:rh</code></a>
1213+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bitrh' title="fn to halfprecision float"><code>++bit:rh</code></a>
1214+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#divrh' title="Divide (halfprecision float)"><code>++div:rh</code></a>
1215+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drgrh' title="@rh to decimal float"><code>++drg:rh</code></a>
1216+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equrh' title="Equals (halfprecision float)"><code>++equ:rh</code></a>
1217+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exprh' title="Exponent (halfprecision float)"><code>++exp:rh</code></a>
1218+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fmarh' title="Fused multiplyadd (halfprecision float)"><code>++fma:rh</code></a>
1219+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fosrh' title="@rs to @rh"><code>++fos:rh</code></a>
1220+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grdrh' title="Decimal float to @rh"><code>++grd:rh</code></a>
1221+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gterh' title="Greater than / equal (halfprecision float)"><code>++gte:rh</code></a>
1222+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gthrh' title="Greater than (halfprecision float)"><code>++gth:rh</code></a>
1223+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lterh' title="Less than / equal (halfprecision float)"><code>++lte:rh</code></a>
1224+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lthrh' title="Less than (halfprecision float)"><code>++lth:rh</code></a>
1225+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#marh' title="Initialize ff (rh core)"><code>++ma:rh</code></a>
1226+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mulrh' title="Multiply (quadprecision float)"><code>++mul:rh</code></a>
1227+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sanrh' title="Signed integer to @rh"><code>++san:rh</code></a>
1228+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#searh' title="Convert from halfprecision float to fn"><code>++sea:rh</code></a>
1229+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sigrh' title="Produce sign of halfprecision float"><code>++sig:rh</code></a>
1230+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqtrh' title="Produce square root of halfprecision float"><code>++sqt:rh</code></a>
1231+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#subrh' title="Subtract from halfprecision float"><code>++sub:rh</code></a>
1232+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sunrh' title="Unsigned integer to halfprecision float"><code>++sun:rh</code></a>
1233+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toirh' title="Round halfprecision float to nearest signed integer"><code>++toi:rh</code></a>
1234+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#tosrh' title="Convert halfprecision float to singleprecision float"><code>++tos:rh</code></a>
12351235
12361236<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#rs'><code>++rs</code></a>
1237−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#add-rs' title="Add (single-precision float)"><code>++add:rs</code></a>
1238−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bit-rs' title="fn to single-precision float"><code>++bit:rs</code></a>
1239−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#div-rs' title="Divide (single-precision float)"><code>++div:rs</code></a>
1240−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drg-rs' title="@rs to decimal float"><code>++drg:rs</code></a>
1241−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equ-rs' title="Equals (single-precision float)"><code>++equ:rs</code></a>
1242−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exp-rs' title="Exponent (@rs)"><code>++exp:rs</code></a>
1243−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fma-rs' title="Fused multiply-add (single-precision float)"><code>++fma:rs</code></a>
1244−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grd-rs' title="Decimal float to @rs"><code>++grd:rs</code></a>
1245−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gte-rs' title="Greater than / equal (single-precision float)"><code>++gte:rs</code></a>
1246−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gth-rs' title="Greater than (single-precision float)"><code>++gth:rs</code></a>
1247−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lte-rs' title="Less than / equal (single-precision float)"><code>++lte:rs</code></a>
1248−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lth-rs' title="Less than (single-precision float)"><code>++lth:rs</code></a>
1249−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#ma-rs' title="Initialize ff (rs core)"><code>++ma:rs</code></a>
1250−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mul-rs' title="Multiply (single-precision float)"><code>++mul:rs</code></a>
1251−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#san-rs' title="Signed integer to @rs"><code>++san:rs</code></a>
1252−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sea-rs' title="Convert from single-precision float to fn"><code>++sea:rs</code></a>
1253−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sig-rs' title="Produce sign of @rs"><code>++sig:rs</code></a>
1254−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqt-rs' title="Produce square root of single-precision float"><code>++sqt:rs</code></a>
1255−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sub-rs' title="Subtract from single-precision float"><code>++sub:rs</code></a>
1256−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sun-rs' title="Unsigned integer to single-precision float"><code>++sun:rs</code></a>
1257−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toi-rs' title="Round single-precision float to nearest signed integer"><code>++toi:rs</code></a>
1237+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#addrs' title="Add (singleprecision float)"><code>++add:rs</code></a>
1238+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bitrs' title="fn to singleprecision float"><code>++bit:rs</code></a>
1239+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#divrs' title="Divide (singleprecision float)"><code>++div:rs</code></a>
1240+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drgrs' title="@rs to decimal float"><code>++drg:rs</code></a>
1241+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equrs' title="Equals (singleprecision float)"><code>++equ:rs</code></a>
1242+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exprs' title="Exponent (@rs)"><code>++exp:rs</code></a>
1243+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fmars' title="Fused multiplyadd (singleprecision float)"><code>++fma:rs</code></a>
1244+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grdrs' title="Decimal float to @rs"><code>++grd:rs</code></a>
1245+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gters' title="Greater than / equal (singleprecision float)"><code>++gte:rs</code></a>
1246+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gthrs' title="Greater than (singleprecision float)"><code>++gth:rs</code></a>
1247+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lters' title="Less than / equal (singleprecision float)"><code>++lte:rs</code></a>
1248+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lthrs' title="Less than (singleprecision float)"><code>++lth:rs</code></a>
1249+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mars' title="Initialize ff (rs core)"><code>++ma:rs</code></a>
1250+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mulrs' title="Multiply (singleprecision float)"><code>++mul:rs</code></a>
1251+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sanrs' title="Signed integer to @rs"><code>++san:rs</code></a>
1252+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sears' title="Convert from singleprecision float to fn"><code>++sea:rs</code></a>
1253+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sigrs' title="Produce sign of @rs"><code>++sig:rs</code></a>
1254+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqtrs' title="Produce square root of singleprecision float"><code>++sqt:rs</code></a>
1255+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#subrs' title="Subtract from singleprecision float"><code>++sub:rs</code></a>
1256+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sunrs' title="Unsigned integer to singleprecision float"><code>++sun:rs</code></a>
1257+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toirs' title="Round singleprecision float to nearest signed integer"><code>++toi:rs</code></a>
12581258
12591259<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#rq'><code>++rq</code></a>
1260−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#add-rq' title="Add (quad-precision float)"><code>++add:rq</code></a>
1261−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bit-rq' title="fn to quad-precision float"><code>++bit:rq</code></a>
1262−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#div-rq' title="Divide (quad-precision float)"><code>++div:rq</code></a>
1263−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drg-rq' title="@rq to decimal float"><code>++drg:rq</code></a>
1264−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equ-rq' title="Equals (quad-precision float)"><code>++equ:rq</code></a>
1265−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exp-rq' title="Exponent (quad-precision float)"><code>++exp:rq</code></a>
1266−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fma-rq' title="Fused multiply-add (quad-precision float)"><code>++fma:rq</code></a>
1267−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grd-rq' title="Decimal float to @rq"><code>++grd:rq</code></a>
1268−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gte-rq' title="Greater than / equal (quad-precision float)"><code>++gte:rq</code></a>
1269−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gth-rq' title="Greater than (quad-precision float)"><code>++gth:rq</code></a>
1270−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lte-rq' title="Less than / equal (quad-precision float)"><code>++lte:rq</code></a>
1271−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lth-rq' title="Less than (quad-precision float)"><code>++lth:rq</code></a>
1272−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#ma-rq' title="Initialize ff (rq core)"><code>++ma:rq</code></a>
1273−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mul-rq' title="Multiply (quad-precision float)"><code>++mul:rq</code></a>
1274−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#san-rq' title="Signed integer to @rq"><code>++san:rq</code></a>
1275−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sea-rq' title="Convert from quad-precision float to fn"><code>++sea:rq</code></a>
1276−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sig-rq' title="Produce sign of quad-precision float"><code>++sig:rq</code></a>
1277−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqt-rq' title="Produce square root of quad-precision float"><code>++sqt:rq</code></a>
1278−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sub-rq' title="Subtract from quad-precision float"><code>++sub:rq</code></a>
1279−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sun-rq' title="Unsigned integer to quad-precision float"><code>++sun:rq</code></a>
1280−<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toi-rq' title="Round quad-precision float to nearest signed integer"><code>++toi:rq</code></a>
1260+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#addrq' title="Add (quadprecision float)"><code>++add:rq</code></a>
1261+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#bitrq' title="fn to quadprecision float"><code>++bit:rq</code></a>
1262+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#divrq' title="Divide (quadprecision float)"><code>++div:rq</code></a>
1263+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#drgrq' title="@rq to decimal float"><code>++drg:rq</code></a>
1264+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#equrq' title="Equals (quadprecision float)"><code>++equ:rq</code></a>
1265+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#exprq' title="Exponent (quadprecision float)"><code>++exp:rq</code></a>
1266+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#fmarq' title="Fused multiplyadd (quadprecision float)"><code>++fma:rq</code></a>
1267+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#grdrq' title="Decimal float to @rq"><code>++grd:rq</code></a>
1268+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gterq' title="Greater than / equal (quadprecision float)"><code>++gte:rq</code></a>
1269+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#gthrq' title="Greater than (quadprecision float)"><code>++gth:rq</code></a>
1270+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lterq' title="Less than / equal (quadprecision float)"><code>++lte:rq</code></a>
1271+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#lthrq' title="Less than (quadprecision float)"><code>++lth:rq</code></a>
1272+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#marq' title="Initialize ff (rq core)"><code>++ma:rq</code></a>
1273+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#mulrq' title="Multiply (quadprecision float)"><code>++mul:rq</code></a>
1274+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sanrq' title="Signed integer to @rq"><code>++san:rq</code></a>
1275+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#searq' title="Convert from quadprecision float to fn"><code>++sea:rq</code></a>
1276+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sigrq' title="Produce sign of quadprecision float"><code>++sig:rq</code></a>
1277+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sqtrq' title="Produce square root of quadprecision float"><code>++sqt:rq</code></a>
1278+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#subrq' title="Subtract from quadprecision float"><code>++sub:rq</code></a>
1279+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#sunrq' title="Unsigned integer to quadprecision float"><code>++sun:rq</code></a>
1280+<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#toirq' title="Round quadprecision float to nearest signed integer"><code>++toi:rq</code></a>
12811281
12821282<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#rlyd'><code>++rlyd</code></a>
12831283<a class="tooltip" href='/docs/hoon/reference/stdlib/3b/#rlyh'><code>++rlyh</code></a>
@@ -1291,43 +1291,43 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
12911291### 3c: urbit time
12921292
12931293<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yo' title="Time constants core"><code>++yo</code></a>
1294−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#cet-yo' title="Days in a century"><code>++cet:yo</code></a>
1295−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#day-yo' title="Seconds in day"><code>++day:yo</code></a>
1296−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#era-yo' title="Leap-year period"><code>++era:yo</code></a>
1297−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#hor-yo' title="Seconds in hour"><code>++hor:yo</code></a>
1298−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#jes-yo' title="Maximum 64-bit timestamp"><code>++jes:yo</code></a>
1299−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#mit-yo' title="Seconds in minute"><code>++mit:yo</code></a>
1300−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#moh-yo' title="Days in month"><code>++moh:yo</code></a>
1301−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#moy-yo' title="Days in months of leap-year"><code>++moy:yo</code></a>
1302−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#qad-yo' title="Seconds in 4 years"><code>++qad:yo</code></a>
1303−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yer-yo' title="Seconds in year"><code>++yer:yo</code></a>
1294+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#cetyo' title="Days in a century"><code>++cet:yo</code></a>
1295+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#dayyo' title="Seconds in day"><code>++day:yo</code></a>
1296+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#erayo' title="Leapyear period"><code>++era:yo</code></a>
1297+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#horyo' title="Seconds in hour"><code>++hor:yo</code></a>
1298+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#jesyo' title="Maximum 64bit timestamp"><code>++jes:yo</code></a>
1299+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#mityo' title="Seconds in minute"><code>++mit:yo</code></a>
1300+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#mohyo' title="Days in month"><code>++moh:yo</code></a>
1301+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#moyyo' title="Days in months of leapyear"><code>++moy:yo</code></a>
1302+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#qadyo' title="Seconds in 4 years"><code>++qad:yo</code></a>
1303+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yeryo' title="Seconds in year"><code>++yer:yo</code></a>
13041304
13051305<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yall' title="Time since beginning of time"><code>++yall</code></a>
13061306<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yawn' title="Days since beginning of time"><code>++yawn</code></a>
13071307<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#year' title="Date to @d"><code>++year</code></a>
13081308<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yell' title="Tarp from atomic date"><code>++yell</code></a>
1309−<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yelp' title="Determine if leap-week"><code>++yelp</code></a>
1309+<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yelp' title="Determine if leapweek"><code>++yelp</code></a>
13101310<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yore' title="Date from atomic date"><code>++yore</code></a>
13111311<a class="tooltip" href='/docs/hoon/reference/stdlib/3c/#yule' title="Daily time to time atom"><code>++yule</code></a>
13121312
13131313### 3d: SHA hash family
13141314
1315−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#og' title="Container arm for SHA-256 powered RNG"><code>++og</code></a>
1316−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#rad-og' title="Random in range"><code>++rad:og</code></a>
1317−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#rads-og' title="Random continuation"><code>++rads:og</code></a>
1318−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#raw-og' title="Random bits"><code>++raw:og</code></a>
1319−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#raws-og' title="Random bits continuation"><code>++raws:og</code></a>
1320−
1321−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shad' title="Double SHA-256"><code>++shad</code></a>
1322−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shaf' title="Half SHA-256"><code>++shaf</code></a>
1323−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shal' title="SHA-512 with length"><code>++shal</code></a>
1324−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#sham' title="128-bit noun hash"><code>++sham</code></a>
1325−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shan' title="SHA-1"><code>++shan</code></a>
1315+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#og' title="Container arm for SHA256 powered RNG"><code>++og</code></a>
1316+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#radog' title="Random in range"><code>++rad:og</code></a>
1317+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#radsog' title="Random continuation"><code>++rads:og</code></a>
1318+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#rawog' title="Random bits"><code>++raw:og</code></a>
1319+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#rawsog' title="Random bits continuation"><code>++raws:og</code></a>
1320+
1321+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shad' title="Double SHA256"><code>++shad</code></a>
1322+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shaf' title="Half SHA256"><code>++shaf</code></a>
1323+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shal' title="SHA512 with length"><code>++shal</code></a>
1324+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#sham' title="128bit noun hash"><code>++sham</code></a>
1325+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shan' title="SHA1"><code>++shan</code></a>
13261326<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shas' title="Salted hash"><code>++shas</code></a>
13271327<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shaw' title="Hash to nbits"><code>++shaw</code></a>
1328−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shax' title="SHA-256"><code>++shax</code></a>
1329−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shay' title="SHA-256 with length"><code>++shay</code></a>
1330−<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shaz' title="SHA-512"><code>++shaz</code></a>
1328+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shax' title="SHA256"><code>++shax</code></a>
1329+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shay' title="SHA256 with length"><code>++shay</code></a>
1330+<a class="tooltip" href='/docs/hoon/reference/stdlib/3d/#shaz' title="SHA512"><code>++shaz</code></a>
13311331
13321332### 3e: AES encryption
13331333
@@ -1336,28 +1336,28 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
13361336### 3f: scrambling
13371337
13381338<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#ob' title="Reversible scrambling v2"><code>++ob</code></a>
1339−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#feen-ob' title="Conceal structure v2"><code>++feen:ob</code></a>
1340−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#fend-ob' title="Restore structure v2"><code>++fend:ob</code></a>
1341−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#fice-ob' title="Feistel-like cipher"><code>++fice:ob</code></a>
1342−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#raku-ob' title="Key list"><code>++raku:ob</code></a>
1343−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#rund-ob' title="Reverse single Feistel-like"><code>++rund:ob</code></a>
1344−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#rynd-ob' title="Reverse Feistel-like cipher"><code>++rynd:ob</code></a>
1345−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#teil-ob' title="Reverse Feistel-like cipher"><code>++teil:ob</code></a>
1339+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#feenob' title="Conceal structure v2"><code>++feen:ob</code></a>
1340+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#fendob' title="Restore structure v2"><code>++fend:ob</code></a>
1341+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#ficeob' title="Feistellike cipher"><code>++fice:ob</code></a>
1342+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#rakuob' title="Key list"><code>++raku:ob</code></a>
1343+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#rundob' title="Reverse single Feistellike"><code>++rund:ob</code></a>
1344+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#ryndob' title="Reverse Feistellike cipher"><code>++rynd:ob</code></a>
1345+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#teilob' title="Reverse Feistellike cipher"><code>++teil:ob</code></a>
13461346
13471347<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#un' title="Reversible scrambling"><code>++un</code></a>
1348−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#wred-un' title="Restore structure"><code>++wred:un</code></a>
1349−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#wren-un' title="Conceal structure"><code>++wren:un</code></a>
1350−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#xafo-un'><code>++xafo:un</code></a>
1351−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#xaro-un'><code>++xaro:un</code></a>
1352−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#zaft-un' title="Look up in 255 sub box"><code>++zaft:un</code></a>
1353−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#zart-un' title="Reverse look up in 255 sub box"><code>++zart:un</code></a>
1354−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#zyft-un' title="Lookup byte in 256 sub box"><code>++zyft:un</code></a>
1355−<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#zyrt-un' title="Reverse lookup byte in 256 sub box"><code>++zyrt:un</code></a>
1348+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#wredun' title="Restore structure"><code>++wred:un</code></a>
1349+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#wrenun' title="Conceal structure"><code>++wren:un</code></a>
1350+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#xafoun'><code>++xafo:un</code></a>
1351+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#xaroun'><code>++xaro:un</code></a>
1352+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#zaftun' title="Look up in 255 sub box"><code>++zaft:un</code></a>
1353+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#zartun' title="Reverse look up in 255 sub box"><code>++zart:un</code></a>
1354+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#zyftun' title="Lookup byte in 256 sub box"><code>++zyft:un</code></a>
1355+<a class="tooltip" href='/docs/hoon/reference/stdlib/3f/#zyrtun' title="Reverse lookup byte in 256 sub box"><code>++zyrt:un</code></a>
13561356
13571357### 3g: molds and mold builders
13581358
1359−<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#coin' title="Noun-literal syntax cases"><code>++coin</code></a>
1360−<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#dime' title="Aura-atom pair"><code>++dime</code></a>
1359+<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#coin' title="Nounliteral syntax cases"><code>++coin</code></a>
1360+<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#dime' title="Auraatom pair"><code>++dime</code></a>
13611361<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#edge' title="Parsing location metadata"><code>++edge</code></a>
13621362<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#hair' title="Parsing line and column"><code>++hair</code></a>
13631363<a class="tooltip" href='/docs/hoon/reference/stdlib/3g/#like' title="Generic edge"><code>++like</code></a>
@@ -1373,41 +1373,41 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
13731373### 4a: exotic bases
13741374
13751375<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#po' title="Phonetic base"><code>++po</code></a>
1376−<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#ind-po' title="Parse suffix"><code>++ind:po</code></a>
1377−<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#ins-po' title="Parse prefix"><code>++ins:po</code></a>
1378−<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#tod-po' title="Fetch suffix"><code>++tod:po</code></a>
1379−<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#tos-po' title="Fetch prefix"><code>++tos:po</code></a>
1376+<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#indpo' title="Parse suffix"><code>++ind:po</code></a>
1377+<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#inspo' title="Parse prefix"><code>++ins:po</code></a>
1378+<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#todpo' title="Fetch suffix"><code>++tod:po</code></a>
1379+<a class="tooltip" href='/docs/hoon/reference/stdlib/4a/#tospo' title="Fetch prefix"><code>++tos:po</code></a>
13801380
13811381### 4b: text processing
13821382
13831383<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#at' title="(Undocumented)"><code>++at</code></a>
1384−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#r-at' title="(Undocumented)"><code>++r:at</code></a>
1385−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rf-at' title="(Undocumented)"><code>++rf:at</code></a>
1386−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rn-at' title="(Undocumented)"><code>++rn:at</code></a>
1387−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rt-at' title="(Undocumented)"><code>++rt:at</code></a>
1388−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rta-at' title="(Undocumented)"><code>++rta:at</code></a>
1389−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rtam-at' title="(Undocumented)"><code>++rtam:at</code></a>
1390−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rub-at' title="(Undocumented)"><code>++rub:at</code></a>
1391−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rud-at' title="(Undocumented)"><code>++rud:at</code></a>
1392−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rum-at' title="(Undocumented)"><code>++rum:at</code></a>
1393−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rup-at' title="(Undocumented)"><code>++rup:at</code></a>
1394−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#ruv-at' title="(Undocumented)"><code>++ruv:at</code></a>
1395−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rux-at' title="(Undocumented)"><code>++rux:at</code></a>
1384+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rat' title="(Undocumented)"><code>++r:at</code></a>
1385+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rfat' title="(Undocumented)"><code>++rf:at</code></a>
1386+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rnat' title="(Undocumented)"><code>++rn:at</code></a>
1387+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rtat' title="(Undocumented)"><code>++rt:at</code></a>
1388+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rtaat' title="(Undocumented)"><code>++rta:at</code></a>
1389+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rtamat' title="(Undocumented)"><code>++rtam:at</code></a>
1390+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rubat' title="(Undocumented)"><code>++rub:at</code></a>
1391+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rudat' title="(Undocumented)"><code>++rud:at</code></a>
1392+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rumat' title="(Undocumented)"><code>++rum:at</code></a>
1393+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#rupat' title="(Undocumented)"><code>++rup:at</code></a>
1394+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#ruvat' title="(Undocumented)"><code>++ruv:at</code></a>
1395+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#ruxat' title="(Undocumented)"><code>++rux:at</code></a>
13961396
13971397<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#cass' title="To lowercase"><code>++cass</code></a>
13981398<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#crip' title="Tape to cord"><code>++crip</code></a>
13991399<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#cuss' title="To uppercase"><code>++cuss</code></a>
14001400<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#mesc' title="Escape special characters"><code>++mesc</code></a>
14011401<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#runt' title="Prepend n times"><code>++runt</code></a>
1402−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#sand' title="Soft-cast by aura"><code>++sand</code></a>
1402+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#sand' title="Softcast by aura"><code>++sand</code></a>
14031403<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#sane' title="Check aura validity"><code>++sane</code></a>
1404−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#teff' title="UTF-8 length"><code>++teff</code></a>
1404+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#teff' title="UTF8 length"><code>++teff</code></a>
14051405<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#trim' title="Tape split"><code>++trim</code></a>
14061406<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#trip' title="Cord to tape"><code>++trip</code></a>
1407−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#tuba' title="UTF-8 to UTF-32 tape"><code>++tuba</code></a>
1408−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#tufa' title="UTF-32 to UTF-8 tape"><code>++tufa</code></a>
1409−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#tuft' title="UTF-32 to UTF-8 text"><code>++tuft</code></a>
1410−<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#turf' title="UTF-8 to UTF-32 cord"><code>++turf</code></a>
1407+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#tuba' title="UTF8 to UTF32 tape"><code>++tuba</code></a>
1408+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#tufa' title="UTF32 to UTF8 tape"><code>++tufa</code></a>
1409+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#tuft' title="UTF32 to UTF8 text"><code>++tuft</code></a>
1410+<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#turf' title="UTF8 to UTF32 cord"><code>++turf</code></a>
14111411<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#wack' title="Coin format encode"><code>++wack</code></a>
14121412<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#wick' title="Coin format decode"><code>++wick</code></a>
14131413<a class="tooltip" href='/docs/hoon/reference/stdlib/4b/#woad' title="Unescape cord"><code>++woad</code></a>
@@ -1415,13 +1415,13 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
14151415
14161416### 4c: tank printer
14171417
1418−<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#re' title="Pretty-printing engine (tank)"><code>++re</code></a>
1419−<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#din-re' title="(Undocumented)"><code>++din:re</code></a>
1420−<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#fit-re' title="Fit on one line test"><code>++fit:re</code></a>
1421−<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#ram-re' title="Flatten tank to tape"><code>++ram:re</code></a>
1422−<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#rig-re' title="Wrap tape in / (tank)"><code>++rig:re</code></a>
1423−<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#wig-re' title="++win - render tape"><code>++wig:re</code></a>
1424−<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#win-re' title="Render at indent"><code>++win:re</code></a>
1418+<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#re' title="Prettyprinting engine (tank)"><code>++re</code></a>
1419+<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#dinre' title="(Undocumented)"><code>++din:re</code></a>
1420+<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#fitre' title="Fit on one line test"><code>++fit:re</code></a>
1421+<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#ramre' title="Flatten tank to tape"><code>++ram:re</code></a>
1422+<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#rigre' title="Wrap tape in / (tank)"><code>++rig:re</code></a>
1423+<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#wigre' title="++win render tape"><code>++wig:re</code></a>
1424+<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#winre' title="Render at indent"><code>++win:re</code></a>
14251425
14261426<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#shep' title="(Undocumented)"><code>++shep</code></a>
14271427<a class="tooltip" href='/docs/hoon/reference/stdlib/4c/#shop' title="(Undocumented)"><code>++shop</code></a>
@@ -1447,14 +1447,14 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
14471447
14481448### 4f: parsing (rule builders)
14491449
1450−<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#bass' title="Parser modifier (LSB-ordered ++list as atom of ++base)"><code>++bass</code></a>
1450+<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#bass' title="Parser modifier (LSBordered ++list as atom of ++base)"><code>++bass</code></a>
14511451<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#boss' title="Parser modifier: LSB"><code>++boss</code></a>
14521452<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#cold' title="Replace with constant"><code>++cold</code></a>
14531453<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#cook' title="Apply gate"><code>++cook</code></a>
14541454<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#easy' title="Always parse"><code>++easy</code></a>
14551455<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#full' title="Parse to end"><code>++full</code></a>
14561456<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#funk' title="Add to tape"><code>++funk</code></a>
1457−<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#here' title="Place-based apply"><code>++here</code></a>
1457+<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#here' title="Placebased apply"><code>++here</code></a>
14581458<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#ifix' title="Infix"><code>++ifix</code></a>
14591459<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#jest' title="Match a cord"><code>++jest</code></a>
14601460<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#just' title="Match a single character"><code>++just</code></a>
@@ -1469,7 +1469,7 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
14691469<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#slug' title="Use gate to parse delimited list"><code>++slug</code></a>
14701470<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#stag' title="Add label"><code>++stag</code></a>
14711471<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#star' title="Produce list of matches"><code>++star</code></a>
1472−<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#stet' title="Add faces to range-parser pairs in list"><code>++stet</code></a>
1472+<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#stet' title="Add faces to rangeparser pairs in list"><code>++stet</code></a>
14731473<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#stew' title="Switch by first"><code>++stew</code></a>
14741474<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#stir' title="Parse repeatedly"><code>++stir</code></a>
14751475<a class="tooltip" href='/docs/hoon/reference/stdlib/4f/#stun' title="Parse several times"><code>++stun</code></a>
@@ -1497,7 +1497,7 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
14971497<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#gal' title="Parse < (gal)"><code>++gal</code></a>
14981498<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#gar' title="Parse > (gar)"><code>++gar</code></a>
14991499<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#hax' title="Parse # (hax)"><code>++hax</code></a>
1500−<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#hep' title="Parse - (hep)"><code>++hep</code></a>
1500+<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#hep' title="Parse (hep)"><code>++hep</code></a>
15011501<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#kel' title="Parse { (kel)"><code>++kel</code></a>
15021502<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#ker' title="Parse } (ker)"><code>++ker</code></a>
15031503<a class="tooltip" href='/docs/hoon/reference/stdlib/4h/#ket' title="Parse ^ (ket)"><code>++ket</code></a>
@@ -1521,7 +1521,7 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
15211521
15221522<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#alf' title="Parse alphabetic characters"><code>++alf</code></a>
15231523<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#aln' title="Parse alphanumeric characters"><code>++aln</code></a>
1524−<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#alp' title="Parse alphanumeric characters and -"><code>++alp</code></a>
1524+<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#alp' title="Parse alphanumeric characters and "><code>++alp</code></a>
15251525<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#bet' title="Parse hep and lus axis syntax"><code>++bet</code></a>
15261526<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#bin' title="Binary to atom"><code>++bin</code></a>
15271527<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#but' title="Parse binary digit"><code>++but</code></a>
@@ -1530,7 +1530,7 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
15301530<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#dit' title="Decimal digit"><code>++dit</code></a>
15311531<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#dog' title="Optional gap"><code>++dog</code></a>
15321532<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#doh' title="@p separator"><code>++doh</code></a>
1533−<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#dun' title="-- to ~"><code>++dun</code></a>
1533+<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#dun' title=" to ~"><code>++dun</code></a>
15341534<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#duz' title="== to ~"><code>++duz</code></a>
15351535<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#gah' title="New line or ''"><code>++gah</code></a>
15361536<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#gap' title="Plural whitespace"><code>++gap</code></a>
@@ -1545,12 +1545,12 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
15451545<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#iny' title="Indentation block"><code>++iny</code></a>
15461546<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#low' title="Parse lowercase letter"><code>++low</code></a>
15471547<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#mes' title="Parse hexabyte"><code>++mes</code></a>
1548−<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#nix' title="Parse letters and -"><code>++nix</code></a>
1548+<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#nix' title="Parse letters and "><code>++nix</code></a>
15491549<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#nud' title="Parse numeric character"><code>++nud</code></a>
15501550<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#prn' title="Parse any printable character"><code>++prn</code></a>
15511551<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#qit' title="Parse character to cord atom"><code>++qit</code></a>
15521552<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#qut' title="Parse cord"><code>++qut</code></a>
1553−<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#soz' title="Parse triple single-quote"><code>++soz</code></a>
1553+<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#soz' title="Parse triple singlequote"><code>++soz</code></a>
15541554<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#sym' title="Term"><code>++sym</code></a>
15551555<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#ven' title="Axis syntax parser"><code>++ven</code></a>
15561556<a class="tooltip" href='/docs/hoon/reference/stdlib/4i/#vit' title="Parse base 64 digit"><code>++vit</code></a>
@@ -1559,85 +1559,85 @@ Can be navigated [alphabetically](#alphabetical) or [by section](#by-section).
15591559### 4j: parsing (bases and base digits)
15601560
15611561<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#ab' title="Primitive parser engine"><code>++ab</code></a>
1562−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#bix-ab' title="Parse hex pair"><code>++bix:ab</code></a>
1563−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#hif-ab' title="Parse phonetic pair"><code>++hif:ab</code></a>
1564−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#huf-ab' title="Parse two phonetic pairs"><code>++huf:ab</code></a>
1565−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#hyf-ab' title="Parse 8 phonetic bytes"><code>++hyf:ab</code></a>
1566−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#pev-ab' title="Parse <=5 in base 32"><code>++pev:ab</code></a>
1567−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#pew-ab' title="Parse <= 5 in base 64"><code>++pew:ab</code></a>
1568−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#piv-ab' title="Parse 5 digits in base 32"><code>++piv:ab</code></a>
1569−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#piw-ab' title="Parse 5 digits in base 64"><code>++piw:ab</code></a>
1570−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#qeb-ab' title="Parse <=4 binary digits"><code>++qeb:ab</code></a>
1571−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#qex-ab' title="Parse <=4 hexadecimal digits"><code>++qex:ab</code></a>
1572−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#qib-ab' title="Parse 4 binary digits"><code>++qib:ab</code></a>
1573−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#qix-ab' title="Parse 4 hexadecimal digits"><code>++qix:ab</code></a>
1574−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#seb-ab' title="Parse 1"><code>++seb:ab</code></a>
1575−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sed-ab' title="Parse non-zero decimal digit"><code>++sed:ab</code></a>
1576−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sev-ab' title="Parse non-zero base 32 digit"><code>++sev:ab</code></a>
1577−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sew-ab' title="Parse non-zero base 64 digit"><code>++sew:ab</code></a>
1578−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sex-ab' title="Parse nonzero hexadecimal digit"><code>++sex:ab</code></a>
1579−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sib-ab' title="Parse binary digit"><code>++sib:ab</code></a>
1580−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sid-ab' title="Parse decimal digit"><code>++sid:ab</code></a>
1581−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#siv-ab' title="Parse a base 32 digit"><code>++siv:ab</code></a>
1582−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#siw-ab' title="Parse a base 64 digit"><code>++siw:ab</code></a>
1583−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#six-ab' title="Parse a hexadecimal digit"><code>++six:ab</code></a>
1584−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sov-ab' title="Parse base 32 letter"><code>++sov:ab</code></a>
1585−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sow-ab' title="Parse base 64 letter/symbol"><code>++sow:ab</code></a>
1586−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sox-ab' title="Parse hexadecimal letter"><code>++sox:ab</code></a>
1587−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#ted-ab' title="Parse decimal number with <= 3 digits"><code>++ted:ab</code></a>
1588−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#tid-ab' title="Parse 3 decimal digits"><code>++tid:ab</code></a>
1589−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#til-ab' title="Parse 3 lowercase letters"><code>++til:ab</code></a>
1590−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#tip-ab' title="Leading phonetic byte"><code>++tip:ab</code></a>
1591−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#tiq-ab' title="Trailing phonetic syllable"><code>++tiq:ab</code></a>
1592−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#urs-ab' title="Parse span characters"><code>++urs:ab</code></a>
1593−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#urt-ab' title="Parse non-_ span"><code>++urt:ab</code></a>
1594−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#voy-ab' title="Parse bas, soq, or bix"><code>++voy:ab</code></a>
1595−
1596−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#ag' title="Top-level atom parser engine"><code>++ag</code></a>
1597−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#ape-ag' title="Parse 0 or rule"><code>++ape:ag</code></a>
1598−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#bay-ag' title="Parses binary number"><code>++bay:ag</code></a>
1599−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#bip-ag' title="Parse IPv6"><code>++bip:ag</code></a>
1600−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#dem-ag' title="Parse decmal with dots"><code>++dem:ag</code></a>
1601−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#dim-ag' title="Parse decimal number"><code>++dim:ag</code></a>
1602−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#dum-ag' title="Parse decimal with leading zero"><code>++dum:ag</code></a>
1603−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#fed-ag' title="Parse @p"><code>++fed:ag</code></a>
1604−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#hex-ag' title="Parse hexadecimal number"><code>++hex:ag</code></a>
1605−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#lip-ag' title="Parse IPv4 address"><code>++lip:ag</code></a>
1606−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#viz-ag' title="Parse base 32 digit with dot separators"><code>++viz:ag</code></a>
1607−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#vum-ag' title="Parse base 32 string"><code>++vum:ag</code></a>
1608−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#wiz-ag' title="Parse base 64 number"><code>++wiz:ag</code></a>
1609−
1610−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#mu' title="Core used to scramble 16-bit atoms"><code>++mu</code></a>
1611−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#zag-mu' title="Add bottom into top"><code>++zag:mu</code></a>
1612−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#zig-mu' title="Subtract bottom from top"><code>++zig:mu</code></a>
1613−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#zug-mu' title="Concatenate into atom"><code>++zug:mu</code></a>
1562+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#bixab' title="Parse hex pair"><code>++bix:ab</code></a>
1563+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#hifab' title="Parse phonetic pair"><code>++hif:ab</code></a>
1564+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#hufab' title="Parse two phonetic pairs"><code>++huf:ab</code></a>
1565+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#hyfab' title="Parse 8 phonetic bytes"><code>++hyf:ab</code></a>
1566+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#pevab' title="Parse <=5 in base 32"><code>++pev:ab</code></a>
1567+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#pewab' title="Parse <= 5 in base 64"><code>++pew:ab</code></a>
1568+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#pivab' title="Parse 5 digits in base 32"><code>++piv:ab</code></a>
1569+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#piwab' title="Parse 5 digits in base 64"><code>++piw:ab</code></a>
1570+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#qebab' title="Parse <=4 binary digits"><code>++qeb:ab</code></a>
1571+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#qexab' title="Parse <=4 hexadecimal digits"><code>++qex:ab</code></a>
1572+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#qibab' title="Parse 4 binary digits"><code>++qib:ab</code></a>
1573+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#qixab' title="Parse 4 hexadecimal digits"><code>++qix:ab</code></a>
1574+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sebab' title="Parse 1"><code>++seb:ab</code></a>
1575+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sedab' title="Parse nonzero decimal digit"><code>++sed:ab</code></a>
1576+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sevab' title="Parse nonzero base 32 digit"><code>++sev:ab</code></a>
1577+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sewab' title="Parse nonzero base 64 digit"><code>++sew:ab</code></a>
1578+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sexab' title="Parse nonzero hexadecimal digit"><code>++sex:ab</code></a>
1579+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sibab' title="Parse binary digit"><code>++sib:ab</code></a>
1580+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sidab' title="Parse decimal digit"><code>++sid:ab</code></a>
1581+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sivab' title="Parse a base 32 digit"><code>++siv:ab</code></a>
1582+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#siwab' title="Parse a base 64 digit"><code>++siw:ab</code></a>
1583+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sixab' title="Parse a hexadecimal digit"><code>++six:ab</code></a>
1584+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sovab' title="Parse base 32 letter"><code>++sov:ab</code></a>
1585+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#sowab' title="Parse base 64 letter/symbol"><code>++sow:ab</code></a>
1586+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#soxab' title="Parse hexadecimal letter"><code>++sox:ab</code></a>
1587+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#tedab' title="Parse decimal number with <= 3 digits"><code>++ted:ab</code></a>
1588+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#tidab' title="Parse 3 decimal digits"><code>++tid:ab</code></a>
1589+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#tilab' title="Parse 3 lowercase letters"><code>++til:ab</code></a>
1590+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#tipab' title="Leading phonetic byte"><code>++tip:ab</code></a>
1591+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#tiqab' title="Trailing phonetic syllable"><code>++tiq:ab</code></a>
1592+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#ursab' title="Parse span characters"><code>++urs:ab</code></a>
1593+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#urtab' title="Parse non_ span"><code>++urt:ab</code></a>
1594+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#voyab' title="Parse bas, soq, or bix"><code>++voy:ab</code></a>
1595+
1596+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#ag' title="Toplevel atom parser engine"><code>++ag</code></a>
1597+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#apeag' title="Parse 0 or rule"><code>++ape:ag</code></a>
1598+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#bayag' title="Parses binary number"><code>++bay:ag</code></a>
1599+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#bipag' title="Parse IPv6"><code>++bip:ag</code></a>
1600+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#demag' title="Parse decmal with dots"><code>++dem:ag</code></a>
1601+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#dimag' title="Parse decimal number"><code>++dim:ag</code></a>
1602+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#dumag' title="Parse decimal with leading zero"><code>++dum:ag</code></a>
1603+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#fedag' title="Parse @p"><code>++fed:ag</code></a>
1604+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#hexag' title="Parse hexadecimal number"><code>++hex:ag</code></a>
1605+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#lipag' title="Parse IPv4 address"><code>++lip:ag</code></a>
1606+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#vizag' title="Parse base 32 digit with dot separators"><code>++viz:ag</code></a>
1607+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#vumag' title="Parse base 32 string"><code>++vum:ag</code></a>
1608+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#wizag' title="Parse base 64 number"><code>++wiz:ag</code></a>
1609+
1610+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#mu' title="Core used to scramble 16bit atoms"><code>++mu</code></a>
1611+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#zagmu' title="Add bottom into top"><code>++zag:mu</code></a>
1612+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#zigmu' title="Subtract bottom from top"><code>++zig:mu</code></a>
1613+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#zugmu' title="Concatenate into atom"><code>++zug:mu</code></a>
16141614
16151615<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#ne' title="Digit rendering engine"><code>++ne</code></a>
1616−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#d-ne' title="Render decimal"><code>++d:ne</code></a>
1617−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#v-ne' title="Render base 32"><code>++v:ne</code></a>
1618−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#w-ne' title="Render base 64 digit"><code>++w:ne</code></a>
1619−<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#x-ne' title="Render hexadecimal digit as atom of ASCII byte value"><code>++x:ne</code></a>
1616+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#dne' title="Render decimal"><code>++d:ne</code></a>
1617+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#vne' title="Render base 32"><code>++v:ne</code></a>
1618+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#wne' title="Render base 64 digit"><code>++w:ne</code></a>
1619+<a class="tooltip" href='/docs/hoon/reference/stdlib/4j/#xne' title="Render hexadecimal digit as atom of ASCII byte value"><code>++x:ne</code></a>
16201620
16211621### 4k: parsing (atom printing)
16221622
16231623<a class="tooltip" href='/docs/hoon/reference/stdlib/4k/#co' title="Literal rendering engine"><code>++co</code></a>
1624−<a class="tooltip" href='/docs/hoon/reference/stdlib/4k/#rear-co' title="Prepend and render atom as tape"><code>++rear:co</code></a>
1625−<a class="tooltip" href='/docs/hoon/reference/stdlib/4k/#rend-co' title="Render coin lot as tape"><code>++rend:co</code></a>
1626−<a class="tooltip" href='/docs/hoon/reference/stdlib/4k/#rent-co' title="Render coin lot as span"><code>++rent:co</code></a>
1624+<a class="tooltip" href='/docs/hoon/reference/stdlib/4k/#rearco' title="Prepend and render atom as tape"><code>++rear:co</code></a>
1625+<a class="tooltip" href='/docs/hoon/reference/stdlib/4k/#rendco' title="Render coin lot as tape"><code>++rend:co</code></a>
1626+<a class="tooltip" href='/docs/hoon/reference/stdlib/4k/#rentco' title="Render coin lot as span"><code>++rent:co</code></a>
16271627
16281628### 4l: parsing (atom parsing)
16291629
16301630<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#so' title="Coin parser engine"><code>++so</code></a>
1631−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#bisk-so' title="Parse aura-atom pair"><code>++bisk:so</code></a>
1632−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#crub-so' title="Parse @da, @dr, @p, @t"><code>++crub:so</code></a>
1633−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#nuck-so' title="Top-level coin parser"><code>++nuck:so</code></a>
1634−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#nusk-so' title="Parse coin literal with escapes"><code>++nusk:so</code></a>
1635−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#perd-so' title="Parses dime/tiple without standard prefixes"><code>++perd:so</code></a>
1636−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#royl-so' title="Parse dime float"><code>++royl:so</code></a>
1637−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#royl-cell-so' title="(Undocumented)"><code>++royl-cell:so</code></a>
1638−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#tash-so' title="Parse signed dime"><code>++tash:so</code></a>
1639−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#twid-so' title="Parse coins without ~ prefix"><code>++twid:so</code></a>
1640−<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#zust-so' title="Parse prefixed dimes from IP, loobean, or floating point"><code>++zust:so</code></a>
1631+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#biskso' title="Parse auraatom pair"><code>++bisk:so</code></a>
1632+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#crubso' title="Parse @da, @dr, @p, @t"><code>++crub:so</code></a>
1633+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#nuckso' title="Toplevel coin parser"><code>++nuck:so</code></a>
1634+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#nuskso' title="Parse coin literal with escapes"><code>++nusk:so</code></a>
1635+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#perdso' title="Parses dime/tiple without standard prefixes"><code>++perd:so</code></a>
1636+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#roylso' title="Parse dime float"><code>++royl:so</code></a>
1637+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#roylcellso' title="(Undocumented)"><code>++roylcell:so</code></a>
1638+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#tashso' title="Parse signed dime"><code>++tash:so</code></a>
1639+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#twidso' title="Parse coins without ~ prefix"><code>++twid:so</code></a>
1640+<a class="tooltip" href='/docs/hoon/reference/stdlib/4l/#zustso' title="Parse prefixed dimes from IP, loobean, or floating point"><code>++zust:so</code></a>
16411641
16421642### 4m: parsing (formatting functions)
16431643
content/docs/system-overview/cryptography.md+3−3
@@ -119,6 +119,6 @@ Jael and utilized by Ames for end-to-end encrypted communication.
119119The following pages contained more detailed information about the cryptography
120120utilized by each of the system components.
121121
122−- [Ames](@/docs/arvo/ames/cryptography.md)
123−- [Zuse](@/docs/arvo/reference/cryptography.md)
124−- [Vere](@/docs/vere/cryptography.md)
122+- [Ames](/docs/arvo/ames/cryptography)
123+- [Zuse](/docs/arvo/reference/cryptography)
124+- [Vere](/docs/vere/cryptography)
content/docs/userspace/threads/basics/summary.md+2−2
@@ -4,14 +4,14 @@ weight = 5
44template = "doc.html"
55+++
66
7−That's basically all you need to know to write threads. The best way to get a good handle on them is just to experiment with some `strandio` functions. For information on running threads from gall agents, see [here](../index.md#gall) and for some examples see [here](../index.md#how-tos--examples).
7+That's basically all you need to know to write threads. The best way to get a good handle on them is just to experiment with some `strandio` functions. For information on running threads from gall agents, see [here](/docs/userspace/threads/gall) and for some examples see [here](/docs/userspace/threads/examples).
88
99Now here's a quick recap of the main points covered:
1010
1111## Spider
1212
1313- is the gall agent that manages threads.
14−- Details of interacting with threads via spider can be seen [here](../reference.md).
14+- Details of interacting with threads via spider can be seen [here](/docs/userspace/threads/reference).
1515
1616## Threads
1717- are like transient gall agents
content/docs/userspace/threads/gall/start-thread.md+1−1
@@ -125,7 +125,7 @@ We can ignore the input logic, here's the important part:
125125
126126You can generate a tid any way you like, just make sure it's unique. Here we just use the hash of some entropy prefixed with `thread_`.
127127
128−Then it's just a poke to `%spider` with the mark `%spider-start` and a vase containing [start-args](../reference.md#start-thread). Spider will then respond with a `%poke-ack` with a `(unit tang)` which will be `~` if it started successfully or else contain an error and a traceback if it failed. Here we test for this and print the result:
128+Then it's just a poke to `%spider` with the mark `%spider-start` and a vase containing [start-args](/docs/userspace/threads/reference#start-thread). Spider will then respond with a `%poke-ack` with a `(unit tang)` which will be `~` if it started successfully or else contain an error and a traceback if it failed. Here we test for this and print the result:
129129
130130```hoon
131131++ on-agent
content/docs/userspace/threads/http-api.md+2−2
@@ -4,7 +4,7 @@ weight = 2
44template = "doc.html"
55+++
66
7−Spider has an Eyre binding which allows threads to be run externally via [authenticated](@/docs/arvo/eyre/external-api-ref.md#authentication) HTTP POST requests.
7+Spider has an Eyre binding which allows threads to be run externally via [authenticated](/docs/arvo/eyre/external-api-ref#authentication) HTTP POST requests.
88
99Spider is bound to the `/spider` URL path, and expects the requested URL to look like:
1010
@@ -46,7 +46,7 @@ Here's an extremely simple thread that takes a `vase` of `(unit json)` and just
4646(pure:m !>(json))
4747```
4848
49−First we must obtain a session cookie by [authenticating](@/docs/arvo/eyre/examples.md#authenticating).
49+First we must obtain a session cookie by [authenticating](/docs/arvo/eyre/examples#authenticating).
5050
5151Now we can try and run our thread. Spider is bound to the `/spider` URL path, and expects the rest of the path to be `/{inputMark}/{thread}/{outputMark}`. Our `{thread}` is called `eyre-thread`, and both its `{inputMark}` and `{outputMark}` are `json`, so our URL path will be `/spider/json/eyre-agent/json`. Our request will be an HTTP POST request and the body will be some `json`, in this case `[{"foo": "bar"}]`:
5252
content/docs/vere/_index.md+1−1
@@ -37,6 +37,6 @@ A walkthrough of each of the `u3` modules.
3737
3838A jetting guide by for new Urbit developers.
3939
40−## [Cryptography](@/docs/vere/cryptography.md)
40+## [Cryptography](/docs/vere/cryptography)
4141
4242References on the cryptography libraries utilized by jets.
content/docs/vere/cryptography.md+2−2
@@ -5,7 +5,7 @@ template = "doc.html"
55+++
66
77All cryptographic primitives utilized by Arvo are
8−[jetted](@/docs/vere/jetting.md). This is done for performance-related reasons
8+[jetted](/docs/vere/jetting). This is done for performance-related reasons
99in other parts of the system, but for cryptography this is also extremely
1010important because it allows us to utilize standard reference implementations for
1111the primitives written in C.
@@ -15,7 +15,7 @@ All jets related to encryption may be found in `pkg/urbit/jets/e/`.
1515In this section we review what specific implementations are utilized. At the
1616moment, only libraries directly related to Ames are documented here, though we
1717note that there are jets for other cryptographic functions such as the [SHA
18−Hash Family](@/docs/hoon/reference/stdlib/3d.md) as well.
18+Hash Family](/docs/hoon/reference/stdlib/3d) as well.
1919
2020### Ed25519 {#ed}
2121
content/faq.md+6−6
@@ -124,15 +124,15 @@ It’s also worth noting that, while there are almost 8B people on Earth, there
124124
125125### How secure is Urbit right now? {#how-secure-is-urbit}
126126
127−We consider some parts of Urbit to be secure, while other parts still need some work and external auditing. For technical details on Urbit's cryptosystems, see the [documentation](@/docs/system-overview/cryptography.md).
127+We consider some parts of Urbit to be secure, while other parts still need some work and external auditing. For technical details on Urbit's cryptosystems, see the [documentation](/docs/system-overview/cryptography).
128128
129129[Urbit ID](#what-is-urbit-id) / [Azimuth](#what-is-azimuth), Urbit's identity layer, is live on the Ethereum blockchain and has been audited by Open Zeppelin, Blockchain at Berkeley, and Bloctrax.
130130
131−In late 2020, Urbit's [Ames](@/docs/glossary/ames.md) networking protocol was audited by [Leviathan Security](https://www.leviathansecurity.com/). You can read about this milestone [here](@/blog/security-and-continuity.md).
131+In late 2020, Urbit's [Ames](/docs/glossary/ames) networking protocol was audited by [Leviathan Security](https://www.leviathansecurity.com/). You can read about this milestone [here](/blog/security-and-continuity).
132132
133−The security of the runtime, [Vere](@/docs/vere/_index.md), has not yet been adequately assessed or systematically hardened.
133+The security of the runtime, [Vere](/docs/vere/), has not yet been adequately assessed or systematically hardened.
134134
135−All communication on Urbit is end-to-end encrypted. However, the [event log](@/docs/glossary/eventlog.md) is not encrypted at rest but we plan to give users that option in the future.
135+All communication on Urbit is end-to-end encrypted. However, the [event log](/docs/glossary/eventlog) is not encrypted at rest but we plan to give users that option in the future.
136136
137137Tlon keeps a quantum computing expert on staff and understands that post-quantum cryptographic methods must be implemented sooner than later, since any data not already encrypted using these methods is at risk of being collected and decrypted once sufficiently powerful quantum computers exist. [NIST](https://www.nist.gov/) anticipates the release of their preliminary findings on [post-quantum cryptography standards](https://csrc.nist.gov/projects/post-quantum-cryptography) around the end of 2021, with full guidelines following in 2024. Tlon will develop a strategy for post-quantum encryption for Urbit following their recommendations.
138138
@@ -142,7 +142,7 @@ Thus, while Urbit is probably more secure and private than most digital communic
142142
143143The [Urbit Hierarchical Deterministic (HD) Wallet](/docs/glossary/hdwallet) is a custom Ethereum wallet based on BIP39 and BIP44 – the same underlying technology used by wallet providers like Ledger, Trezor, Metamask, and MyEtherWallet. You can think of the Urbit HD wallet as a wallet of wallets, which lets you keep a single passphrase for all of your Urbit ID keys. Urbit ID uses multiple keys with different capabilities – a bit like permissions – so that you can keep the more valuable keys in cold storage while keeping less valuable keys, used in day-to-day operation, more easily accessible. If you're only operating a planet, you shouldn't have to worry about this: you can simply think of your "master ticket" as the password to your Urbit ID. If you're operating a star or galaxy, the Urbit HD Wallet allows you to implement a multi-tier key custody scheme.
144144
145−If you're interested, you can read the spec here: [Urbit HD Wallet Spec (UP 8)](https://github.com/urbit/proposals/blob/master/008-urbit-hd-wallet.md).
145+If you're interested, you can read the spec here: [Urbit HD Wallet Spec (UP 8)](https://github.com/urbit/proposals/blob/master/008-urbit-hd-wallet).
146146
147147### What is a master ticket? {#master-ticket}
148148
@@ -167,7 +167,7 @@ An ownership address is an Ethereum address that owns one or more of your Urbit
167167
168168All Ethereum key-pairs in the Urbit wallet system, including [proxies](/docs/glossary/proxies), are produced by 128-bit cryptographically random values called seeds. These seeds are the equivalent of the BIP39 mnemonic of an Ethereum wallet and are yours alone. An ownership key pair is derived from an ownership seed and, likewise, the various proxy key pairs are generated from their respective proxy seeds.
169169
170−For detailed information see the [Urbit HD Wallet Spec (UP 8)](https://github.com/urbit/proposals/blob/master/008-urbit-hd-wallet.md).
170+For detailed information see the [Urbit HD Wallet Spec (UP 8)](https://github.com/urbit/proposals/blob/master/008-urbit-hd-wallet).
171171
172172### What does it mean to “set public keys”? {#set-public-keys}
173173
content/grants/bitcoin-key-derivation.md+1−1
@@ -52,7 +52,7 @@ The worker should have a background that demonstrates proficiency with building
5252
5353### Resources
5454
55−- [Urbit HD Wallet design](https://github.com/urbit/fora-posts/blob/master/proposals/posts/~2018.11.8..19.31.59..ba77~.md)
55+- [Urbit HD Wallet design](https://github.com/urbit/fora-posts/blob/master/proposals/posts/~2018.11.8..19.31.59..ba77~)
5656- [BIP-32 re: extended public keys](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#Extended_keys)
5757
5858## Milestones
content/grants/bitcoin-wallet-on-bridge.md+1−1
@@ -39,7 +39,7 @@ A completed wallet should:
3939- [Bitcoin Core SPV wallet reference](https://bitcoin.org/en/operating-modes-guide#simplified-payment-verification-spv)
4040- [JS Library to interact with SPV wallet](https://github.com/bitcoinjs/bitcoinjs-lib)
4141- [The Bridge repository](https://github.com/urbit/bridge)
42−- [Urbit Wallet Reference](https://github.com/urbit/fora-posts/blob/master/proposals/posts/~2018.11.8..19.31.59..ba77~.md)
42+- [Urbit Wallet Reference](https://github.com/urbit/fora-posts/blob/master/proposals/posts/~2018.11.8..19.31.59..ba77~)
4343- [Urbit Wallet Key Generation](https://github.com/urbit/urbit-key-generation]
4444- [BIP 32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki)
4545- [BIP 39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki)
content/grants/educational-guide-todomvc-urbit-edition.md+1−1
@@ -61,7 +61,7 @@ using it.
6161
6262This section is fairly straightforward, as it has been covered many times
6363before. ~timluc-miptev's gall guide has a [great
64−overview](https://github.com/timlucmiptev/gall-guide/blob/master/workflow.md#three-workflow-options)
64+overview](https://github.com/timlucmiptev/gall-guide/blob/master/workflow#three-workflow-options)
6565of how to work with fake ships efficiently, and the existing documentation has
6666plenty of material material.
6767
content/grants/the-complete-guide-to-gall-and-landscape.md+1−1
@@ -18,7 +18,7 @@ link = ""
1818
1919## PoC and Prior Work
2020
21−The first 5 chapters of the course are complete in late draft form and can be found [here](https://github.com/timlucmiptev/gall-guide/blob/master/guide-docs/overview.md)
21+The first 5 chapters of the course are complete in late draft form and can be found [here](https://github.com/timlucmiptev/gall-guide/blob/master/guide-docs/overview)
2222
2323My ["Nock for Everyday Coders" Guide](https://blog.timlucmiptev.space/part1.html) was the result of my exploring Nock on my own, and is probably the most detailed Nock reference available currently.
2424
content/grants/unit-tests-for-zuse-cryptographic-functions.md+1−1
@@ -32,7 +32,7 @@ Save the test files in the `tests/sys/zuse/crypto` directory in Arvo. Use the sa
3232#### Resources
3333
3434- Read the [guide](https://github.com/urbit/urbit/blob/master/pkg/arvo/TESTING.udon) to writing unit tests in Hoon.
35−- Read the guide to [contributing](https://github.com/urbit/urbit/blob/master/CONTRIBUTING.md).
35+- Read the guide to [contributing](https://github.com/urbit/urbit/blob/master/CONTRIBUTING).
3636- [Here](https://github.com/urbit/urbit/blob/alef2/pkg/arvo/tests/sys/zuse/ordered-map.hoon) is an example test file for the new Ames. Your tests should be similar to it.
3737
3838#### Contribution Guidelines
content/grants/volt-lightning-on-urbit.md+2−2
@@ -110,7 +110,7 @@ Private key/hot wallet management inside Urbit. This is needed to sign commitmen
110110### RFCs implemented
111111
112112We implement everything related to channels, HTLCs, and invoices. We leave out all the Lightning networking and routing elements.
113−[RFCs located here](https://github.com/lightningnetwork/lightning-rfc/blob/master/00-introduction.md)
113+[RFCs located here](https://github.com/lightningnetwork/lightning-rfc/blob/master/00-introduction)
114114
115115- RFC 02: channel opening, closing, HTLCs
116116- RFC 03: commitment transactions
@@ -231,7 +231,7 @@ It is possible to re-balance channel liquidity (shifting more of the balance to
231231
232232- The libraries and full node interface provided by the `btc-wallet` project will be useful for parsing formats like `bech32` and for querying the state of the blockchain to monitor for cheating.
233233- [Urbit Bitcoin Wallet](https://github.com/timlucmiptev/btc-agents)
234−- [Lightning RFC](https://github.com/lightningnetwork/lightning-rfc/blob/master/00-introduction.md)
234+- [Lightning RFC](https://github.com/lightningnetwork/lightning-rfc/blob/master/00-introduction)
235235- [lnd RPC API](https://api.lightning.community/)
236236
237237## contributor requirements
content/updates/2016-5-16-roadmap.md+1−1
@@ -241,4 +241,4 @@ ball and run with it.
241241
242242## Governance
243243
244−See the [interim constitution](../interim-constitution).
244+See the [interim constitution](/blog/interim-constitution).
content/using/id/guide-to-breaches.md+1−1
@@ -20,7 +20,7 @@ has forgotten about it.
2020
2121Breaches often fix connectivity issues, but should only be used as a last
2222resort. Before performing a breach, look at alternative fixes in the [Ship
23−Troubleshooting](../ship-troubleshooting) guide. Also reach out for help in the
23+Troubleshooting](/using/os/ship-troubleshooting) guide. Also reach out for help in the
2424Help channel in the Urbit Community group `~bitbet-bolbel/urbit-community`, or,
2525failing that, in the `#ship-starting-support` channel in our [Discord
2626server](https://discord.gg/n9xhMdz) to see if there is another option.
pages/index.js+1−1
@@ -231,7 +231,7 @@ export default function Home({ posts, events, openGrantsCount, search }) {
231231 key={events[1].slug}
232232 />
233233 </div>
234− <Link href="/docs">
234+ <Link href="/events">
235235 <button className="button-lg type-ui text-white bg-ultraDeepWall">
236236 More Events
237237 </button>