Start from scratch: remove all `insert_anchor_links` keys
- maybe it was all a dream?
commit95a23052a46b266f536d7063b594b77cf3518dfb
authorYaseen <yaseen.nvt@gmail.com>
dateThu 21 Jan 2021, 20:12 (6 years ago)
parent11a444c
_index.md−1
@@ -1,7 +1,6 @@
11+++
22title = "Docs"
33template = "sections/docs.html"
4−insert_anchor_links = "none"
54+++
65
76Welcome to the documentation for the Urbit project. This documentation is maintained by [Tlon](https://tlon.io) in a public [Github repository](https://github.com/urbit/docs). Issues and contributions are welcome.
glossary/_index.md−1
@@ -4,7 +4,6 @@ sort_by = "none"
44template = "sections/docs/glossary.html"
55[extra]
66nav = "link"
7−insert_anchor_links = "none"
87+++
98
109Short articles about key concepts in the Urbit project. Each definition connects you with more specific information within the documentation and on [urbit.org](https://urbit.org), so you can learn more about the project at your own pace.
glossary/ames.md−1
@@ -3,7 +3,6 @@ title = "Ames"
33template = "doc.html"
44[extra]
55category = "arvo"
6−insert_anchor_links = "none"
76+++
87
98**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.
glossary/aqua.md−1
@@ -3,7 +3,6 @@ title = "Aqua"
33template = "doc.html"
44[extra]
55category = "arvo"
6−insert_anchor_links = "none"
76+++
87
98**Aqua** is something like Docker but for Urbit; it is a virtualization tool whose primary purpose is testing and development.
glossary/arm.md−1
@@ -4,7 +4,6 @@ title = "Arm"
44template = "doc.html"
55[extra]
66category = "hoon-nock"
7−insert_anchor_links = "none"
87+++
98
109An **arm** is a Hoon expression encoded as a noun. You can find them as part of a [core](../core)
glossary/arvo.md−1
@@ -1,7 +1,6 @@
11+++
22title = "Arvo"
33template = "doc.html"
4−insert_anchor_links = "none"
54+++
65
76**Arvo** is the Urbit operating system and kernel. Arvo's state is a pure
glossary/atom.md−1
@@ -3,7 +3,6 @@ title = "Atom"
33template = "doc.html"
44[extra]
55category = "hoon-nock"
6−insert_anchor_links = "none"
76+++
87
98An **atom** is any non-negative integer of any size. The atom is the most basic data type in [Nock](../nock) and [Hoon](../hoon).
glossary/azimuth.md−1
@@ -1,7 +1,6 @@
11+++
22title = "Azimuth"
33template = "doc.html"
4−insert_anchor_links = "none"
54+++
65
76**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.
glossary/battery.md−1
@@ -4,7 +4,6 @@ title = "Battery"
44template = "doc.html"
55[extra]
66category = "hoon-nock"
7−insert_anchor_links = "none"
87+++
98
109A **battery** is a collection of Hoon expressions and the head of a [core](../core).
glossary/behn.md−1
@@ -3,7 +3,6 @@ title = "Behn"
33template = "doc.html"
44[extra]
55category = "arvo"
6−insert_anchor_links = "none"
76+++
87
98**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.
glossary/breach.md−1
@@ -3,7 +3,6 @@ title = "Breach"
33template = "doc.html"
44[extra]
55category = "arvo"
6−insert_anchor_links = "none"
76+++
87
98Continuity on the [Ames](../ames) network occasionally needs to be broken at
glossary/bridge.md−1
@@ -3,7 +3,6 @@ title = "Bridge"
33template = "doc.html"
44[extra]
55category = "azimuth"
6−insert_anchor_links = "none"
76+++
87
98**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/).
glossary/censure.md−1
@@ -3,7 +3,6 @@ title = "Censures"
33template = "doc.html"
44[extra]
55category = "azimuth"
6−insert_anchor_links = "none"
76+++
87
98The **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.
glossary/ceremony.md−1
@@ -3,7 +3,6 @@ title = "Ceremony"
33template = "doc.html"
44[extra]
55category = "azimuth"
6−insert_anchor_links = "none"
76+++
87
98The **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).
glossary/chat.md−1
@@ -4,7 +4,6 @@ title = "chat"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109**Chat** is a suite of [Gall](../gall) applications that handle "instant
glossary/claims.md−1
@@ -4,7 +4,6 @@ title = "Claims"
44template = "doc.html"
55[extra]
66category = "azimuth"
7−insert_anchor_links = "none"
87+++
98
109The **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_.
glossary/clay.md−1
@@ -4,7 +4,6 @@ title = "Clay"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109**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.
glossary/comet.md−1
@@ -4,7 +4,6 @@ title = "Comet"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109A **comet** is a kind of [ship](../ship) on the [Arvo](../arvo) network. They are disposable identities that will not be initially trusted by others on the network. One use might be to run bots as comets.
glossary/core.md−1
@@ -4,7 +4,6 @@ title = "Core"
44template = "doc.html"
55[extra]
66category = "hoon-nock"
7−insert_anchor_links = "none"
87+++
98
109A **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.
glossary/delegated-sending.md−1
@@ -4,7 +4,6 @@ title = "Delegated Sending"
44template = "doc.html"
55[extra]
66category = "azimuth"
7−insert_anchor_links = "none"
87+++
98
109The **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.
glossary/desk.md−1
@@ -4,7 +4,6 @@ title = "Desk"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109A **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.
glossary/dill.md−1
@@ -4,7 +4,6 @@ title = "Dill"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109**Dill** is the terminal-driver [vane](../filesystem). You run your urbit in your Unix terminal, and Unix sends every event –
glossary/docvote.md−1
@@ -4,7 +4,6 @@ title = "Document Vote"
44template = "doc.html"
55[extra]
66category = "azimuth"
7−insert_anchor_links = "none"
87+++
98
109A **document vote** is a type of [vote](../voting) action taken by the [Galactic Senate](../senate) over [Azimuth](../azimuth). By passing a document vote, [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."
glossary/dojo.md−1
@@ -3,7 +3,6 @@ title = "Dojo"
33
44[extra]
55category = "arvo"
6−insert_anchor_links = "none"
76+++
87
98The **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.
glossary/door.md−1
@@ -4,7 +4,6 @@ title = "Door"
44template = "doc.html"
55[extra]
66category = "hoon-nock"
7−insert_anchor_links = "none"
87+++
98
109A **door** is a [core](../core) the payload of which is a cell of sample and context.
glossary/ecliptic.md−1
@@ -4,7 +4,6 @@ title = "Ecliptic"
44template = "doc.html"
55[extra]
66category = "azimuth"
7−insert_anchor_links = "none"
87+++
98
109The **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.
glossary/eventlog.md−1
@@ -4,7 +4,6 @@ title = "Event Log"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109The **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.
glossary/eyre.md−1
@@ -4,7 +4,6 @@ title = "Eyre"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109**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.
glossary/ford.md−1
@@ -4,7 +4,6 @@ title = "Ford"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109**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.
glossary/galaxy.md−1
@@ -4,7 +4,6 @@ title = "Galaxy"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109A **galaxy** can be one of two related things:
glossary/gall.md−1
@@ -4,7 +4,6 @@ title = "Gall"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109**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.
glossary/gate.md−1
@@ -4,7 +4,6 @@ title = "Gate"
44template = "doc.html"
55[extra]
66category = "hoon-nock"
7−insert_anchor_links = "none"
87+++
98
109A **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.
glossary/hdwallet.md−1
@@ -4,7 +4,6 @@ title = "HD Wallet"
44template = "doc.html"
55[extra]
66category = "azimuth"
7−insert_anchor_links = "none"
87+++
98
109The **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.
glossary/hoon.md−1
@@ -2,7 +2,6 @@
22title = "Hoon"
33
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87Hoon 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.
glossary/invite-tree.md−1
@@ -4,7 +4,6 @@ title = "Invite Tree"
44template = "doc.html"
55[extra]
66category = "azimuth"
7−insert_anchor_links = "none"
87+++
98
109The **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.
glossary/iris.md−1
@@ -4,7 +4,6 @@ title = "Iris"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109**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.
glossary/jael.md−1
@@ -3,7 +3,6 @@ title = "Jael"
33template = "doc.html"
44[extra]
55category = "arvo"
6−insert_anchor_links = "none"
76+++
87
98**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.
glossary/jaque.md−1
@@ -4,7 +4,6 @@ title = "Jaque"
44template = "doc.html"
55[extra]
66category = "hoon-nock"
7−insert_anchor_links = "none"
87+++
98
109**Jaque** is a new [Nock](../nock) interpreter under development that is intended to replace the current worker process for [Vere](../vere).
glossary/keyfile.md−1
@@ -4,7 +4,6 @@ title = "Keyfile"
44template = "doc.html"
55[extra]
66category = "azimuth"
7−insert_anchor_links = "none"
87+++
98
109A **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.
glossary/landscape.md−1
@@ -4,7 +4,6 @@ title = "Landscape"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109**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).
glossary/mark.md−1
@@ -4,7 +4,6 @@ title = "Mark"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109A **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.
glossary/moon.md−1
@@ -4,7 +4,6 @@ title = "Moon"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109A **moon** is a kind of [ship](../ship) on the [Arvo](../arvo) network. Moons are issued by planets, and are meant to be used for the issuing planet's connected devices, such as phones, desktops, smart TVs, and digital thermostats. A moon is not independent; it is always subordinated to the planet that issued it.
glossary/nock.md−1
@@ -2,7 +2,6 @@
22title = "Nock"
33
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87**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).
glossary/noun.md−1
@@ -4,7 +4,6 @@ title = "Noun"
44template = "doc.html"
55[extra]
66category = "hoon-nock"
7−insert_anchor_links = "none"
87+++
98
109A **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).
glossary/ota-updates.md−1
@@ -4,7 +4,6 @@ title = "OTA Updates"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109[Ships](../ship) have the ability to upgrade themselves **over the air**. They receive updates from a sponsor [star](../star) or [galaxy](../galaxy).
glossary/payload.md−1
@@ -4,7 +4,6 @@ title = "Payload"
44template = "doc.html"
55[extra]
66category = "hoon-nock"
7−insert_anchor_links = "none"
87+++
98
109A **payload** is the set of data needed to run computations in a [core](../core)
glossary/ph.md−1
@@ -4,7 +4,6 @@ title = "pH"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109**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.
glossary/pier.md−1
@@ -3,7 +3,6 @@ title = "Pier"
33template = "doc.html"
44[extra]
55category = "arvo"
6−insert_anchor_links = "none"
76+++
87
98A **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.
glossary/pill.md−1
@@ -4,7 +4,6 @@ title = "Pill"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109A **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.
glossary/planet.md−1
@@ -4,7 +4,6 @@ title = "Planet"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109A **planet** is can be one of two related things:
glossary/proxies.md−1
@@ -4,7 +4,6 @@ title = "Proxies"
44template = "doc.html"
55[extra]
66category = "azimuth"
7−insert_anchor_links = "none"
87+++
98
109**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.
glossary/replay.md−1
@@ -4,7 +4,6 @@ title = "Replay"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109**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.
glossary/sailudon.md−1
@@ -4,7 +4,6 @@ title = "Sail/Udon"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109**Sail** and **Udon** are domain specific languages for Hoon.
glossary/senate.md−1
@@ -4,7 +4,6 @@ title = "Senate"
44template = "doc.html"
55[extra]
66category = "azimuth"
7−insert_anchor_links = "none"
87+++
98
109The **Galactic Senate** is the body of all [galaxies](../galaxy) that governs [Azimuth](../azimuth) by [majority vote](../voting). There are two types of votes: a constitution vote, which is a motion to update the logic of Azimuth; and a [documentation vote](../docvote), which is a motion to legitimize or approve the content of an arbitrary document.
glossary/ship.md−1
@@ -4,7 +4,6 @@ title = "Ship"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109A **ship** is an instance of an Urbit computer that is a peer on the [Arvo](../arvo) network.
glossary/shiparvonetwork.md−1
@@ -4,7 +4,6 @@ title = "ship.arvo.network"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109**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`.
glossary/star.md−1
@@ -4,7 +4,6 @@ title = "Star"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109A **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.
glossary/sync.md−1
@@ -4,7 +4,6 @@ title = "|sync"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109**|sync** sets up a sychronization between two [Clay](../clay) [desks](../desk). It is mostly used to distribute kernel updates.
glossary/trap.md−1
@@ -4,7 +4,6 @@ title = "Trap"
44template = "doc.html"
55[extra]
66category = "hoon-nock"
7−insert_anchor_links = "none"
87+++
98
109A **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.
glossary/vane.md−1
@@ -4,7 +4,6 @@ title = "Vane"
44template = "doc.html"
55[extra]
66category = "arvo"
7−insert_anchor_links = "none"
87+++
98
109A **vane** is an [Arvo](../arvo) kernel module that performs essential system operations. The vanes are:
glossary/vere.md−1
@@ -4,7 +4,6 @@ title = "Vere"
44template = "doc.html"
55[extra]
66category = "hoon-nock"
7−insert_anchor_links = "none"
87+++
98
109**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.
glossary/voting.md−1
@@ -4,7 +4,6 @@ title = "Voting"
44template = "doc.html"
55[extra]
66category = "azimuth"
7−insert_anchor_links = "none"
87+++
98
109**Voting** is a power available to [galaxies](../galaxy), in their capacities as members of the [Galactic Senate](../senate), through an [Azimuth](../azimuth) smart contract. Galaxies collectively make decisions about the governance of Azimuth and the [Arvo](../arvo) network by voting. There are two types of votes: a [constitution vote](../constitutionvote) and a [document vote](../docvote).
glossary/wallet-generator.md−1
@@ -4,7 +4,6 @@ title = "Wallet-Generator"
44template = "doc.html"
55[extra]
66category = "azimuth"
7−insert_anchor_links = "none"
87+++
98
109The **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.
reference/_index.md−1
@@ -3,7 +3,6 @@ title = "Reference"
33weight = 3
44sort_by = "weight"
55template = "sections/docs/chapters.html"
6−insert_anchor_links = "none"
76+++
87Various reference documents are stored here, particularly for Hoon, but also for other parts of the system.
98
reference/cheat-sheet.md−1
@@ -3,7 +3,6 @@ title = "Cheat Sheet"
33weight = 5
44template = "doc.html"
55aliases = ["docs/reference/cheat-sheet/"]
6−insert_anchor_links = "none"
76+++
87
98Download the cheat sheet PDF [here](https://storage.googleapis.com/media.urbit.org/docs/hoon-cheat-sheet-2020-07-24.pdf).
reference/hoon-expressions/_index.md−1
@@ -4,7 +4,6 @@ weight = 1
44sort_by = "weight"
55template = "sections/docs/chapters.html"
66aliases = ["/docs/reference/hoon-expressions/"]
7−insert_anchor_links = "none"
87+++
98Documentation for Hoon expressions.
109
reference/hoon-expressions/advanced.md−1
@@ -3,7 +3,6 @@ title = "Advanced Types"
33weight = 5
44template = "doc.html"
55aliases = ["docs/reference/hoon-expressions/advanced/"]
6−insert_anchor_links = "none"
76+++
87The definition of `type` in the 'Basic Types' section is only a simplified version. The Hoon type system is simple, but not **that** simple.
98
reference/hoon-expressions/basic.md−1
@@ -3,7 +3,6 @@ title = "Basic Types"
33weight = 4
44template = "doc.html"
55aliases = ["docs/reference/hoon-expressions/basic/"]
6−insert_anchor_links = "none"
76+++
87A type is usually understood to be a set of values. Hoon values are all nouns,
98so a Hoon type is a set of nouns.
reference/hoon-expressions/irregular.md−1
@@ -3,7 +3,6 @@ title = "Irregular forms"
33weight = 7
44template = "doc.html"
55aliases = ["docs/reference/hoon-expressions/irregular/"]
6−insert_anchor_links = "none"
76+++
87
98##### Reading guide
reference/hoon-expressions/limb/_index.md−1
@@ -4,7 +4,6 @@ weight = 3
44sort_by = "weight"
55template = "sections/docs/chapters.html"
66aliases = ["docs/reference/hoon-expressions/limb/"]
7−insert_anchor_links = "none"
87+++
98One feature Hoon lacks: a context that isn't a first-class value. Hoon has no
109concept of scope, environment, etc. An expression has exactly one data source,
reference/hoon-expressions/limb/limb.md−1
@@ -3,7 +3,6 @@ title = "Limbs"
33weight = 1
44template = "doc.html"
55aliases = ["docs/reference/hoon-expressions/limb/limb/"]
6−insert_anchor_links = "none"
76+++
87A limb is an attribute of subject.
98
reference/hoon-expressions/limb/wing.md−1
@@ -3,7 +3,6 @@ title = "Wings"
33weight = 2
44template = "doc.html"
55aliases = ["docs/reference/hoon-expressions/limb/wing/"]
6−insert_anchor_links = "none"
76+++
87`[%wing p=(list limb)]`
98
reference/hoon-expressions/rune/_index.md−1
@@ -4,7 +4,6 @@ weight = 2
44sort_by = "weight"
55template = "sections/docs/chapters.html"
66aliases = ["docs/reference/hoon-expressions/rune/"]
7−insert_anchor_links = "none"
87+++
98Runes are a way to form expressions in Hoon.
109
reference/hoon-expressions/rune/bar.md−1
@@ -3,7 +3,6 @@ title = "Cores | ('bar')"
33weight = 7
44template = "doc.html"
55aliases = ["docs/reference/hoon-expressions/rune/bar/"]
6−insert_anchor_links = "none"
76+++
87Core expressions produce cores. A core is a cell of `[battery payload]`.
98The `battery` is code, a battery of Nock formulas. The `payload` is the data
reference/hoon-expressions/rune/buc.md−1
@@ -3,7 +3,6 @@ title = "Structures $ ('buc')"
33weight = 12
44template = "doc.html"
55aliases = ["docs/reference/hoon-expressions/rune/buc/"]
6−insert_anchor_links = "none"
76+++
87The `$` family of runes is used for defining custom types. Strictly speaking,
98these runes are used to produce 'structures'. A structure is a compile-time
reference/hoon-expressions/rune/cen.md−1
@@ -3,7 +3,6 @@ title = "Calls % ('cen')"
33weight = 10
44template = "doc.html"
55aliases = ["docs/reference/hoon-expressions/rune/cen/"]
6−insert_anchor_links = "none"
76+++
87The `%` family of runes is used for making 'function calls' in Hoon. To be more precise, these runes evaluate the `$` arm in cores, usually after modifying the sample. (The default sample is replaced with the input values given in the call.)
98
reference/hoon-expressions/rune/col.md−1
@@ -3,7 +3,6 @@ title = "Cells : ('col')"
33weight = 9
44template = "doc.html"
55aliases = ["docs/reference/hoon-expressions/rune/col/"]
6−insert_anchor_links = "none"
76+++
87The `:` ("col") expressions are used to produce cells, which are pairs of values. E.g., `:-(p q)` produces the cell `[p q]`. All `:` runes reduce to `:-`.
98
reference/hoon-expressions/rune/constants.md−1
@@ -3,7 +3,6 @@ title = "Atoms and strings"
33weight = 1
44template = "doc.html"
55aliases = ["docs/reference/hoon-expressions/rune/constants/"]
6−insert_anchor_links = "none"
76+++
87The simplest expressions in every language are constants:
98atoms, strings, paths. (Strings and paths aren't all constants per
reference/hoon-expressions/rune/dot.md−1
@@ -3,7 +3,6 @@ title = "Nock . ('dot')"
33weight = 3
44template = "doc.html"
55aliases = ["docs/reference/hoon-expressions/rune/dot/"]
6−insert_anchor_links = "none"
76+++
87Anything Nock can do, Hoon can do also. These runes are used for carrying out Nock operations in Hoon.
98
reference/hoon-expressions/rune/ket.md−1
@@ -3,7 +3,6 @@ title = "Casts ^ ('ket')"
33weight = 11
44template = "doc.html"
55aliases = ["docs/reference/hoon-expressions/rune/ket/"]
6−insert_anchor_links = "none"
76+++
87[`^-` ("kethep")](#kethep), [`^+` ("ketlus")](#ketlus), and
98[`^=` ("kettis")](#kettis) let us adjust types without violating type
reference/hoon-expressions/rune/lus.md−1
@@ -2,7 +2,6 @@
22title = "Arms + ('lus')"
33weight = 8
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87A core is a cell of `[battery payload]`. The battery is made of one or more arms, each of which is a computation on its parent core.
reference/hoon-expressions/rune/mic.md−1
@@ -3,7 +3,6 @@ title = "Make ; ('mic')"
33weight = 13
44template = "doc.html"
55aliases = ["docs/reference/hoon-expressions/rune/mic/"]
6−insert_anchor_links = "none"
76+++
87
98Miscellaneous useful macros.
reference/hoon-expressions/rune/sig.md−1
@@ -2,7 +2,6 @@
22title = "Hints ~ ('sig')"
33weight = 14
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76Runes that use Nock `11` to pass non-semantic info to the interpreter.
87
reference/hoon-expressions/rune/terminators.md−1
@@ -2,7 +2,6 @@
22title = "Terminators -- and =="
33weight = 15
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76The `--` and `==` are used as terminators: `--` for core expressions, and `==` for terminating a 'running' or 'jogging' series of Hoon expressions.
87
reference/hoon-expressions/rune/tis.md−1
@@ -2,7 +2,6 @@
22title = "Change Subject = ('tis')"
33weight = 5
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87These runes modify the subject. (Or more precisely, they
reference/hoon-expressions/rune/wut.md−1
@@ -3,7 +3,6 @@ title = "Conditionals ? ('wut')"
33weight = 6
44template = "doc.html"
55aliases = ["docs/reference/hoon-expressions/rune/wut/"]
6−insert_anchor_links = "none"
76+++
87Hoon has the usual program control branches. It also has the usual logical
98operators: AND `?&`, OR `?|`, and NOT `?!`. It also has a `?=` rune that tests
reference/hoon-expressions/rune/zap.md−1
@@ -3,7 +3,6 @@ title = "Wild ! ('zap')"
33weight = 4
44template = "doc.html"
55aliases = ["docs/reference/hoon-expressions/rune/zap/"]
6−insert_anchor_links = "none"
76+++
87## Runes
98
reference/library/1a.md−1
@@ -2,7 +2,6 @@
22title = "1a: Basic Arithmetic"
33weight = 1
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++add`
reference/library/1b.md−1
@@ -2,7 +2,6 @@
22title = "1b: Tree Addressing"
33weight = 2
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87Check out the Nock [explanation](@/docs/tutorials/nock/_index.md) for more
reference/library/1c.md−1
@@ -2,7 +2,6 @@
22title = "1c: Molds and Mold-Builders"
33weight = 3
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++bloq`
reference/library/2a.md−1
@@ -2,7 +2,6 @@
22title = "2a: Unit Logic"
33weight = 4
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++biff`
reference/library/2b.md−1
@@ -2,7 +2,6 @@
22title = "2b: List Logic"
33weight = 5
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++fand`
reference/library/2c.md−1
@@ -2,7 +2,6 @@
22title = "2c: Bit Arithmetic"
33weight = 6
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++bex`
reference/library/2d.md−1
@@ -2,7 +2,6 @@
22title = "2d: Bit Logic"
33weight = 7
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++con`
reference/library/2e.md−1
@@ -2,7 +2,6 @@
22title = "2e: Insecure Hashing"
33weight = 8
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++fnv`
reference/library/2f.md−1
@@ -2,7 +2,6 @@
22title = "2f: Noun Ordering"
33weight = 9
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++aor`
reference/library/2g.md−1
@@ -2,7 +2,6 @@
22title = "2g: Unsigned Powers"
33weight = 10
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++pow`
reference/library/2h.md−1
@@ -2,7 +2,6 @@
22title = "2h: Set Logic"
33weight = 11
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++in`
reference/library/2i.md−1
@@ -2,7 +2,6 @@
22title = "2i: Map Logic"
33weight = 12
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++by`
reference/library/2j.md−1
@@ -2,7 +2,6 @@
22title = "2j: Jar and Jug Logic"
33weight = 13
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++ja`
reference/library/2k.md−1
@@ -2,7 +2,6 @@
22title = "2k: Queue Logic"
33weight = 14
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++to`
reference/library/2l.md−1
@@ -2,7 +2,6 @@
22title = "2l: Container from Container"
33weight = 15
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++malt`
reference/library/2m.md−1
@@ -2,7 +2,6 @@
22title = "2m: Container from Noun"
33weight = 16
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++ly`
reference/library/2n.md−1
@@ -2,7 +2,6 @@
22title = "2n: Functional Hacks"
33weight = 17
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++cork`
reference/library/2o.md−1
@@ -2,7 +2,6 @@
22title = "2o: Normalizing Containers"
33weight = 18
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++jar`
reference/library/2p.md−1
@@ -2,7 +2,6 @@
22title = "2p: Serialization"
33weight = 19
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++cue` {#cue}
reference/library/2q.md−1
@@ -2,7 +2,6 @@
22title = "2q: Molds and Mold-Builders"
33weight = 20
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++char`
reference/library/3a.md−1
@@ -2,7 +2,6 @@
22title = "3a: Modular and Signed Ints"
33weight = 21
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++egcd`
reference/library/3b.md−1
@@ -2,7 +2,6 @@
22title = "3b: Floating Point"
33weight = 22
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++fn`
reference/library/3c.md−1
@@ -2,7 +2,6 @@
22title = "3c: Urbit Time"
33weight = 23
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++yall`
reference/library/3d.md−1
@@ -2,7 +2,6 @@
22title = "3d: SHA Hash Family"
33weight = 24
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++shad`
reference/library/3e.md−1
@@ -2,7 +2,6 @@
22title = "3e: AES encryption (Removed)"
33weight = 25
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76The standard-library functions in this section have been removed.
87
reference/library/3f.md−1
@@ -2,7 +2,6 @@
22title = "3f: Scrambling"
33weight = 26
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76### `++un`
87
reference/library/3g.md−1
@@ -2,7 +2,6 @@
22title = "3g: Molds and Mold-Builders"
33weight = 27
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++coin`
reference/library/4a.md−1
@@ -2,7 +2,6 @@
22title = "4a: Exotic Bases"
33weight = 28
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++po`
reference/library/4b.md−1
@@ -2,7 +2,6 @@
22title = "4b: Text Processing"
33weight = 29
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++at`
reference/library/4c.md−1
@@ -2,7 +2,6 @@
22title = "4c: Tank Printer"
33weight = 30
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++re`
reference/library/4d.md−1
@@ -2,7 +2,6 @@
22title = "4d: Parsing (Tracing)"
33weight = 31
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++last`
reference/library/4e.md−1
@@ -2,7 +2,6 @@
22title = "4e: Parsing (Combinators)"
33weight = 32
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++bend`
reference/library/4f.md−1
@@ -2,7 +2,6 @@
22title = "4f: Parsing (Rule-Builders)"
33weight = 33
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++bass`
reference/library/4g.md−1
@@ -2,7 +2,6 @@
22title = "4g: Parsing (Outside Caller)"
33weight = 34
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++rash`
reference/library/4h.md−1
@@ -2,7 +2,6 @@
22title = "4h: Parsing (ASCII Glyphs)"
33weight = 35
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++ace`
reference/library/4i.md−1
@@ -2,7 +2,6 @@
22title = "4i: Parsing (Useful Idioms)"
33weight = 36
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++alf`
reference/library/4j.md−1
@@ -2,7 +2,6 @@
22title = "4j: Parsing (Bases and Base Digits)"
33weight = 37
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++ab`
reference/library/4k.md−1
@@ -2,7 +2,6 @@
22title = "4k: Atom Printing"
33weight = 38
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++co`
reference/library/4l.md−1
@@ -2,7 +2,6 @@
22title = "4l: Atom Parsing"
33weight = 39
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++so`
reference/library/4m.md−1
@@ -2,7 +2,6 @@
22title = "4m: Formatting Functions"
33weight = 40
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++scot`
reference/library/4n.md−1
@@ -2,7 +2,6 @@
22title = "4n: Virtualization"
33weight = 41
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++mack`
reference/library/4o.md−1
@@ -2,7 +2,6 @@
22title = "4o: Molds"
33weight = 42
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++abel`
reference/library/5a.md−1
@@ -2,7 +2,6 @@
22title = "5a: Compiler Utilities"
33weight = 43
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87(To be documented)
reference/library/5b.md−1
@@ -2,7 +2,6 @@
22title = "5b: Macro Expansion"
33weight = 44
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87(To be documented)
reference/library/5c.md−1
@@ -2,7 +2,6 @@
22title = "5c: Compiler Backend & Prettyprinter"
33weight = 45
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87(To be documented)
reference/library/5d.md−1
@@ -2,7 +2,6 @@
22title = "5d: Parser"
33weight = 46
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87(To be documented)
reference/library/5e.md−1
@@ -2,7 +2,6 @@
22title = "5e: Caching Compiler"
33weight = 47
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87(To be documented)
reference/library/5f.md−1
@@ -2,7 +2,6 @@
22title = "5f: Molds and Mold-Builders"
33weight = 48
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87### `++mane`
reference/library/5g.md−1
@@ -2,7 +2,6 @@
22title = "5g: profiling support"
33weight = 49
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87(To be documented)
reference/library/_index.md−1
@@ -3,7 +3,6 @@ title = "Standard library"
33weight = 2
44sort_by = "weight"
55template = "sections/docs/chapters.html"
6−insert_anchor_links = "none"
76+++
87
98Documentation for the standard library.
reference/library/table-of-contents.md−1
@@ -3,7 +3,6 @@ title = "Table of Contents"
33weight = 0
44sort_by = "weight"
55template = "doc.html"
6−insert_anchor_links = "none"
76+++
87
98Documentation for the standard library.
reference/vane-apis/_index.md−1
@@ -3,7 +3,6 @@ title = "Vane APIs"
33weight = 3
44sort_by = "weight"
55template = "sections/docs/chapters.html"
6−insert_anchor_links = "none"
76+++
87
98Reference documentation for the API connectors of vanes.
reference/vane-apis/airlock.md−1
@@ -2,7 +2,6 @@
22title = "Airlock"
33weight = 1
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87Airlock is the term to describe the set of APIs for interacting with a running Urbit ship from outside of the Urbit network.
reference/vane-apis/ames.md−1
@@ -2,7 +2,6 @@
22title = "Ames"
33weight = 2
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87In this document we describe the public interface for Ames. Namely, we describe
reference/vane-apis/behn.md−1
@@ -2,7 +2,6 @@
22title = "Behn"
33weight = 3
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87In this document we describe the public interface for Behn. Namely, we describe
reference/vane-apis/dill.md−1
@@ -2,7 +2,6 @@
22title = "Dill"
33weight = 4
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87In this document we describe the public interface for Dill. Namely, we describe
reference/vane-apis/gall.md−1
@@ -2,7 +2,6 @@
22title = "Gall"
33weight = 5
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87## Reference Agent
reference/vane-apis/iris.md−1
@@ -2,7 +2,6 @@
22title = "Iris"
33weight = 6
44template = "doc.html"
5−insert_anchor_links = "none"
65+++
76
87In this document we describe the public interface for Iris. Namely, we describe
tutorials/_index.md−1
@@ -4,7 +4,6 @@ weight = 2
44sort_by = "weight"
55template = "sections/docs/chapters.html"
66aliases = ["docs/learn/"]
7−insert_anchor_links = "right"
87+++
98
109Tutorials and explanations for all the components of Urbit.
tutorials/advanced-azimuth-tools.md−1
@@ -2,7 +2,6 @@
22title = "Advanced Azimuth Tools"
33weight = 4
44template = "doc.html"
5−insert_anchor_links = "right"
65+++
76
87This document outlines some advanced techniques for generating, signing, and sending Azimuth-related transactions from within Urbit itself. It's strongly discouraged to do this unless you're very confident as Azimuth transactions are permanent and will cost ETH to complete. However, until you upload a signed transaction to the blockchain no transaction will take place so it's safe to explore these tools. It will also be very helpful to have at least a rudimentary understanding of Hoon in order to read and modify parts of the code.
tutorials/arvo/_index.md−1
@@ -4,7 +4,6 @@ weight = 1
44sort_by = "weight"
55template = "sections/docs/chapters.html"
66aliases = ["/docs/learn/arvo/"]
7−insert_anchor_links = "right"
87+++
98
109## [Arvo](@/docs/tutorials/arvo/arvo.md)
tutorials/arvo/ames.md−1
@@ -3,7 +3,6 @@ title = "Ames"
33weight = 2
44template = "doc.html"
55aliases = ["/docs/learn/arvo/ames/"]
6−insert_anchor_links = "right"
76+++
87Our networking protocol.
98
tutorials/arvo/arvo.md−1
@@ -3,7 +3,6 @@ title = "Arvo"
33weight = 1
44template = "doc.html"
55aliases = ["/docs/learn/arvo/arvo/"]
6−insert_anchor_links = "right"
76+++
87
98Arvo, also called Urbit OS, is our operating system.
tutorials/arvo/behn.md−1
@@ -2,7 +2,6 @@
22title = "Behn"
33weight = 3
44template = "doc.html"
5−insert_anchor_links = "right"
65+++
76Our simple timer.
87
tutorials/arvo/clay.md−1
@@ -3,7 +3,6 @@ title = "Clay"
33weight = 4
44template = "doc.html"
55aliases = ["/docs/learn/arvo/clay/"]
6−insert_anchor_links = "right"
76+++
87
98
tutorials/arvo/dill.md−1
@@ -3,7 +3,6 @@ title = "Dill"
33weight = 5
44template = "doc.html"
55aliases = ["/docs/learn/arvo/dill/"]
6−insert_anchor_links = "right"
76+++
87Our terminal driver.
98
tutorials/arvo/eyre.md−1
@@ -3,7 +3,6 @@ title = "Eyre"
33weight = 6
44template = "doc.html"
55aliases = ["/docs/learn/arvo/eyre/"]
6−insert_anchor_links = "right"
76+++
87
98*Current docs on Eyre are out of date. Until they are updated this doc remains for historical purposes*
tutorials/arvo/ford.md−1
@@ -3,7 +3,6 @@ title = "Ford Fusion"
33weight = 7
44template = "doc.html"
55aliases = ["/docs/learn/arvo/ford/"]
6−insert_anchor_links = "right"
76+++
87
98> This document is out of date as of 2020.07.20. In the meantime, see the [blog
tutorials/arvo/gall.md−1
@@ -3,7 +3,6 @@ title = "Gall Apps"
33weight = 8
44template = "doc.html"
55aliases = ["/docs/learn/arvo/gall/"]
6−insert_anchor_links = "right"
76+++
87
98This document describes Gall, the Arvo userspace vane. It is split into two main
tutorials/arvo/move-trace.md−1
@@ -2,7 +2,6 @@
22title = "Move trace"
33weight = 12
44template = "doc.html"
5−insert_anchor_links = "right"
65+++
76
87In this tutorial we will run a simple "move trace" and use the output to get a
tutorials/concepts/_index.md−1
@@ -3,7 +3,6 @@ title = "Concepts"
33weight = 1
44sort_by = "weight"
55template = "sections/docs/chapters.html"
6−insert_anchor_links = "right"
76+++
87
98The documents in this section are high-level introductions to the Urbit project and components thereof.
tutorials/concepts/arch.md−1
@@ -2,7 +2,6 @@
22title = "Landscape Architecture"
33weight = 4
44template = "doc.html"
5−insert_anchor_links = "right"
65+++
76
87# Landscape Architecture
tutorials/concepts/azimuth.md−1
@@ -3,7 +3,6 @@ title = "Azimuth"
33weight = 4
44template = "doc.html"
55aliases = ["/docs/learn/azimuth"]
6−insert_anchor_links = "right"
76+++
87Azimuth is a general-purpose public-key infrastructure (PKI) on the Ethereum blockchain, used as a platform for _Urbit identities_. You need such an identity to use the Arvo network.
98
tutorials/concepts/technical-overview.md−1
@@ -3,7 +3,6 @@ title = "Technical overview"
33weight = 1
44template = "doc.html"
55aliases = ["/understanding-urbit/technical-overview"]
6−insert_anchor_links = "right"
76+++
87
98Urbit is a clean-slate software stack designed to implement an encrypted P2P
tutorials/creating-an-invite-pool.md−1
@@ -2,7 +2,6 @@
22title = "Creating an Invite Pool"
33weight = 9
44template = "doc.html"
5−insert_anchor_links = "right"
65+++
76
87If you're a star owner, you have the ability to create **invite pools**. These invite pools let you give your friends a piece of the network in the form of planets. This document will give you an explanation of how to create an invite pool and how to share it with your friends using our tool [Bridge](https://bridge.urbit.org).
tutorials/guide-to-breaches.md−1
@@ -2,7 +2,6 @@
22title = "Guide to Breaches"
33weight = 10
44template = "doc.html"
5−insert_anchor_links = "right"
65+++
76
87An important concept on the [Ames](@/docs/tutorials/arvo/ames.md) network is that of continuity. Continuity refers to how ships remember the order of their own network messages and the network messages of others -- these messages are numbered, starting from zero. A _breach_ is when ships on the network agree to forget about this sequence and treat one or more ships like they are brand new.
tutorials/hoon/_index.md−1
@@ -5,7 +5,6 @@ weight = 1
55sort_by = "weight"
66template = "sections/docs/hoon.html"
77aliases = ["/docs/byte/0/", "/docs/byte", "/docs/learn/hoon/hoon-tutorial/"]
8−insert_anchor_links = "right"
98+++
109
1110This section contains material for learning Hoon. For newbies, we recommend
tutorials/hoon/cli-tutorial.md−1
@@ -2,7 +2,6 @@
22title = "CLI apps"
33weight = 2
44template = "doc.html"
5−insert_anchor_links = "right"
65+++
76
87## Introduction
tutorials/hoon/graph.md−1
@@ -2,7 +2,6 @@
22title = "Graph Store"
33weight = 3
44template = "doc.html"
5−insert_anchor_links = "right"
65+++
76
87# What is Graph Store?
tutorials/hoon/hoon-errors.md−1
@@ -2,7 +2,6 @@
22title = "Hoon Errors"
33weight = 12
44template = "doc.html"
5−insert_anchor_links = "right"
65+++
76
87In this section we explore strategies for debugging and understanding what your
tutorials/hoon/hoon-school/_index.md−1
@@ -4,7 +4,6 @@ weight = 1
44sort_by = "weight"
55template = "sections/docs/hoon.html"
66aliases = ["/docs/byte/0/", "/docs/byte", "/docs/learn/hoon/hoon-tutorial/"]
7−insert_anchor_links = "right"
87+++
98
109This series is designed to teach you Hoon without assuming you have an extensive programming background. In fact, you should be able to follow much of it even if you have no programming experience at all, though of course experience helps. We strongly encourage you to try out all the examples of each lesson. These lessons are meant for the beginner but they aren't meant to be skimmed. Each lesson falls into one of two categories: **readings**, which are prose-heavy explanations of Hoon fundamentals, and **walkthroughs**, which are line-by-line explanations of example programs. Walkthroughs are found between readings, offering a practical implementation of the concepts taught in the reading before.
tutorials/hoon/hoon-school/ackermann.md−1
@@ -3,7 +3,6 @@ title = "1.6.1 Walkthrough: Ackermann Function"
33weight = 14
44template = "doc.html"
55aliases = ["docs/learn/hoon/hoon-tutorial/ackermann/"]
6−insert_anchor_links = "right"
76+++
87
98The Ackermann function is one of the earliest examples of a function that is both totally computable -- meaning that it can be solved -- and not primitively recursive -- meaning it can not be rewritten in an iterative fashion.
tutorials/hoon/hoon-school/aqua.md−1
@@ -2,7 +2,6 @@
22title = "Writing Aqua Tests"
33weight = 37
44template = "doc.html"
5−insert_anchor_links = "right"
65+++
76
87# Concepts
tutorials/hoon/hoon-school/arms-and-cores.md−1
@@ -3,7 +3,6 @@ title = "1.7 Arms and Cores"
33weight = 15
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/arms-and-cores/"]
6−insert_anchor_links = "right"
76+++
87The Hoon subject is a [noun](/docs/glossary/noun/). Each fragment of this [noun](/docs/glossary/noun/) is either an [arm](/docs/glossary/arm/) or a leg. In the previous lesson you learned what a leg is, and how to return legs of the subject by various means. In this lesson you'll learn what an [arm](/docs/glossary/arm/) is. Arms are a bit more complex than legs -- a full understanding of them requires a bit more background knowledge. Accordingly, in this lesson we must also introduce an important Hoon data structure: a '[core](/docs/glossary/core/)'.
98
tutorials/hoon/hoon-school/atoms-auras-and-simple-cell-types.md−1
@@ -3,7 +3,6 @@ title = "2.1 Atoms, Auras, and Simple Cell Types"
33weight = 24
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/atoms-auras-and-simple-cell-types/"]
6−insert_anchor_links = "right"
76+++
87Like most modern high-level programming languages, Hoon has a type system. Because Hoon is a functional programming language, its type system differs somewhat from those of non-functional languages. In the next few lessons we'll go over Hoon's type system and point out some of its distinctive features. Certain advanced topics (e.g. type [polymorphism](https://en.wikipedia.org/wiki/Polymorphism_%28computer_science%29)) won't be addressed until a later chapter.
98
tutorials/hoon/hoon-school/bank-account.md−1
@@ -3,7 +3,6 @@ title = "1.8.1 Bank Account"
33weight = 17
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/bank-account/"]
6−insert_anchor_links = "right"
76+++
87
98In this lesson, we will write a [door](/docs/glossary/door/) that can act as a bank account with the ability to withdraw, deposit, and check the account's balance.
tutorials/hoon/hoon-school/behn.md−1
@@ -2,7 +2,6 @@
22title = "2.6 Behn"
33weight = 34
44template = "doc.html"
5−insert_anchor_links = "right"
65+++
76
87In this lesson we introduce the notion of a vane, which should be thought of as a kernel module for Arvo (if you don't know what that means yet, just keep reading). We first present a primer on what vanes are and how they communicate, followed by an examination of the simplest vane, known as Behn (pronounced like "bane"), which is Arvo's timekeeper.
tutorials/hoon/hoon-school/caesar.md−1
@@ -3,7 +3,6 @@ title = "1.7.1 Walkthrough: Caesar Cipher"
33weight = 16
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/caesar/"]
6−insert_anchor_links = "right"
76+++
87
98A Caesar cipher is a very simple way to obfuscate a message. The technique
tutorials/hoon/hoon-school/conditionals.md−1
@@ -3,7 +3,6 @@ title = "1.3.1 Walkthrough: Conditionals"
33weight = 5
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/conditionals/"]
6−insert_anchor_links = "right"
76+++
87
98In this lesson, we will write a generator that takes an integer and checks if it is an even number between `1` and `100`. This will help demonstrate how boolean (`true` or `false`) conditional expressions work in Hoon.
tutorials/hoon/hoon-school/doors.md−1
@@ -3,7 +3,6 @@ title = "1.8 Doors"
33weight = 16
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/doors/"]
6−insert_anchor_links = "right"
76+++
87
98It's useful to have [cores](/docs/glossary/core/) whose [arms](/docs/glossary/arm/) evaluate to make [gates](/docs/glossary/gate/). The use of such cores is common in Hoon; that's how the functions of the Hoon standard library are stored in the subject. Learning about such cores will also deepen the reader's understanding of Hoon semantics, and for that reason alone is worthwhile.
tutorials/hoon/hoon-school/egg-timer.md−1
@@ -3,7 +3,6 @@ title = "2.7.1 Gall Walkthrough: Egg Timer"
33weight = 36
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/egg-timer/"]
6−insert_anchor_links = "right"
76+++
87
98The Arvo operating system is divided up into modules called vanes. Gall is the vane responsible for providing an API for building stateful applications in Urbit. Gall is a complex system that takes a lot of getting used to, so let's dip our toes in with a simple egg-timer app.
tutorials/hoon/hoon-school/fibonacci.md−1
@@ -3,7 +3,6 @@ title = "1.5.1 Walkthrough: Fibonacci Sequence"
33weight = 9
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/fibonacci/"]
6−insert_anchor_links = "right"
76+++
87
98In this example, we will write a generator that produces a list of [Fibonacci numbers](https://en.wikipedia.org/wiki/Fibonacci_number) up to `n`.
tutorials/hoon/hoon-school/gall.md−1
@@ -3,7 +3,6 @@ title = "2.7 Gall"
33weight = 35
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/gall/"]
6−insert_anchor_links = "right"
76+++
87
98Gall is the Arvo vane responsible for handling user space applications. When writing a Gall application there are several things you will need to understand.
tutorials/hoon/hoon-school/gates.md−1
@@ -3,7 +3,6 @@ title = "1.4 Gates (Hoon Functions)"
33weight = 6
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/gates/"]
6−insert_anchor_links = "right"
76+++
87
98In this lesson you're going to learn about Hoon functions.
tutorials/hoon/hoon-school/generators.md−1
@@ -3,7 +3,6 @@ title = "1.9 Generators"
33weight = 19
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/generators/"]
6−insert_anchor_links = "right"
76+++
87
98Generators are the most straightforward way to write programs for Urbit. They
tutorials/hoon/hoon-school/hoon-syntax.md−1
@@ -3,7 +3,6 @@ title = "1.3 Hoon Syntax"
33weight = 4
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/hoon-syntax/"]
6−insert_anchor_links = "right"
76+++
87
98The study of Hoon can be divided into two parts: syntax and semantics.
tutorials/hoon/hoon-school/iron-polymorphism.md−1
@@ -3,7 +3,6 @@ title = "2.5.1 Walkthrough: Iron Polymorphism and Wet Polymorphism"
33weight = 32
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/iron-polymorphism/"]
6−insert_anchor_links = "right"
76+++
87
98Polymorphism is a programming concept that allows a a piece of code to use different types at different times. It's a common technique in most languages to make code that can be reused for many different situations, and Hoon is no exception. Let's take a look at a [gate](/docs/glossary/gate/) from the Hoon standard library as an example; we'll be passing a few different types in. The code below is an excerpt from `hoon.hoon` and, as such, will not run as-is by itself.
tutorials/hoon/hoon-school/lead-polymorphism.md−1
@@ -3,7 +3,6 @@ title = "2.5.2 Walkthrough: Lead Polymorphism"
33weight = 33
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/lead-polymorphism/"]
6−insert_anchor_links = "right"
76+++
87
98There are four kinds of [cores](/docs/glossary/core/): gold, iron, zinc, and lead. You are able to use core-variance rules to create programs which take other programs as arguments. Which particular rules depends on which kind of core your program needs to complete.
tutorials/hoon/hoon-school/libraries.md−1
@@ -3,7 +3,6 @@ title = "2.3.1 Walkthrough: Libraries"
33weight = 28
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/libraries/"]
6−insert_anchor_links = "right"
76+++
87
98In Hoon, like in other languages, it's often useful to create a library for other code to access. In this example, we look at one example of a library that can be used to represent a deck of 52 playing cards. The [core](/docs/glossary/core/) below builds such a library, and can be accessed by programs.
tutorials/hoon/hoon-school/list-of-numbers.md−1
@@ -3,7 +3,6 @@ title = "1.1.1 Walkthrough: List of Numbers"
33weight = 2
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/list-of-numbers/"]
6−insert_anchor_links = "right"
76+++
87
98This code-example is intended to familiarize you with the basics of Hoon syntax. It's okay if you don't understand everything immediately; some concepts may be beyond your grasp for now. What's important is that you become accustomed to the elements of the code and their look once combined into a valid program.
tutorials/hoon/hoon-school/lists.md−1
@@ -3,7 +3,6 @@ title = "1.5 Lists"
33weight = 8
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/lists/"]
6−insert_anchor_links = "right"
76+++
87
98A **list** is a type of [noun](/docs/glossary/noun/) that you'll frequently encounter when reading and writing Hoon. A list can be thought of as an ordered arrangement of zero or more elements terminated by a `~` (null).
tutorials/hoon/hoon-school/molds.md−1
@@ -3,7 +3,6 @@ title = "2.3.2 Molds"
33weight = 28
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/molds/"]
6−insert_anchor_links = "right"
76+++
87
98A mold is an idempotent function that coerces a [noun](/docs/glossary/noun/) to
tutorials/hoon/hoon-school/nouns.md−1
@@ -3,7 +3,6 @@ title = "1.2 Nouns"
33weight = 3
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/nouns/"]
6−insert_anchor_links = "right"
76+++
87
98In Urbit, every piece of data is a [noun](/docs/glossary/noun/). In order to understand Hoon, one must first understand nouns.
tutorials/hoon/hoon-school/recursion.md−1
@@ -3,7 +3,6 @@ title = "1.4.1 Walkthrough: Recursion"
33weight = 7
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/recursion/"]
6−insert_anchor_links = "right"
76+++
87
98[Recursion](.) is a common pattern for solving certain problems in most programming
tutorials/hoon/hoon-school/setup.md−1
@@ -3,7 +3,6 @@ title = "1.1 Setup"
33weight = 1
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/setup/"]
6−insert_anchor_links = "right"
76+++
87
98Before we begin working on Hoon, you should first (1) have Urbit installed and (2) boot a ship that you can use for trying out Hoon examples. Interactive learning is far superior to passive reading.
tutorials/hoon/hoon-school/structures-and-complex-types.md−1
@@ -3,7 +3,6 @@ title = "2.3 Structures and Complex Types"
33weight = 27
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/structures-and-complex-types/"]
6−insert_anchor_links = "right"
76+++
87
98In this lesson we'll talk a little about how type expressions become structures, and how these structures manifest in different ways in different parts of your Hoon code. We'll also talk about how to create your own custom-defined complex types from simpler ones.
tutorials/hoon/hoon-school/style.md−1
@@ -3,7 +3,6 @@ title = "Appendix: Hoon Style Guide"
33weight = 100
44template = "doc.html"
55aliases = ["docs/learn/hoon/style/"]
6−insert_anchor_links = "right"
76+++
87
98Welcome to the Hoon style guide. It’s important to familiarize yourself with our way of writing Hoon code.
tutorials/hoon/hoon-school/the-subject-and-its-legs.md−1
@@ -3,7 +3,6 @@ title = "1.6 The Subject and Its Legs"
33weight = 13
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/the-subject-and-its-legs/"]
6−insert_anchor_links = "right"
76+++
87
98Hoon isn't an object-oriented programming language; it's a "subject-oriented" programming language. But what's this "subject"?
tutorials/hoon/hoon-school/trees-sets-and-maps.md−1
@@ -3,7 +3,6 @@ title = "2.4 Standard Library: Trees, Sets, and Maps"
33weight = 30
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/trees-sets-and-maps/"]
6−insert_anchor_links = "right"
76+++
87
98Along with lists, the Hoon standard library also supports trees, sets, and maps as data structures. A Hoon `tree` is the data structure for a binary tree. A Hoon `set` is the data structure for a set of values. A Hoon `map` is the data structure for a set of `[key value]` pairs.
tutorials/hoon/hoon-school/type-checking-and-type-inference.md−1
@@ -3,7 +3,6 @@ title = "2.2 Type Checking and Type Inference"
33weight = 25
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/type-checking-and-type-inference/"]
6−insert_anchor_links = "right"
76+++
87
98As the Hoon compiler compiles your Hoon code, it does a **type check** on certain expressions to make sure they are guaranteed to produce a value of the correct type. If it cannot be proved that the output value is correctly typed, the compile will fail with a `nest-fail` crash. In order to figure out what type of value is produced by a given expression, the compiler uses **type inference** on that code. In this lesson we'll cover various cases in which a type check is performed, and also how the compiler does type inference on an expression.
tutorials/hoon/hoon-school/type-polymorphism.md−1
@@ -3,7 +3,6 @@ title = "2.5 Type Polymorphism"
33weight = 31
44template = "doc.html"
55aliases = ["/docs/learn/hoon/hoon-tutorial/type-polymorphism/"]
6−insert_anchor_links = "right"
76+++
87
98There are many cases in which one may want to write a function that accepts as input various different types of data. Such a function is said to be [polymorphic](https://en.wikipedia.org/wiki/Polymorphism_%28computer_science%29). ("Polymorphism" = "many forms"; so polymorphic functions accept many forms of data as input.)
tutorials/hoon/parsing.md−1
@@ -2,7 +2,6 @@
22title = "Parsing"
33weight = 3
44template = "doc.html"
5−insert_anchor_links = "right"
65+++
76
87# Parsing Tutorial
tutorials/hoon/workbook/_index.md−1
@@ -4,7 +4,6 @@ weight = 150
44sort_by = "weight"
55template = "sections/docs/chapters.html"
66aliase = ["docs/learn/hoon/workbook/"]
7−insert_anchor_links = "right"
87+++
98The Workbook is the place to sharpen your Hoon skills. Each entry in the
109Workbook is a code walkthrough followed by exercises.
tutorials/hoon/workbook/bomb.md−1
@@ -3,7 +3,6 @@ title = "Bomb Defusing"
33weight = 7
44template = "doc.html"
55aliases = ["docs/learn/hoon/workbook/bomb"]
6−insert_anchor_links = "right"
76+++
87In this exercise, we will build a generator that takes a list of wires to be cut
98in order to defuse a bomb. The bomb is defused according to the following rules.
tutorials/hoon/workbook/digits.md−1
@@ -3,7 +3,6 @@ title = "Digits"
33weight = 4
44template = "doc.html"
55aliases = ["docs/learn/hoon/workbook/digits/"]
6−insert_anchor_links = "right"
76+++
87Let's write a generator that takes a `@ud` (unsigned decimal) and returns a list
98of its digits.
tutorials/hoon/workbook/eightball.md−1
@@ -3,7 +3,6 @@ title = "Magic 8-Ball"
33weight = 5
44template = "doc.html"
55aliases = ["docs/learn/hoon/workbook/eightball"]
6−insert_anchor_links = "right"
76+++
87In this lesson we'll write a generator that mimics the functionality of a
98Magic 8-Ball, producing a randomized response with each run.
tutorials/hoon/workbook/traffic-light.md−1
@@ -3,7 +3,6 @@ title = "Traffic Light"
33weight = 6
44template = "doc.html"
55aliases = ["docs/learn/hoon/workbook/traffic-light/"]
6−insert_anchor_links = "right"
76+++
87Let's create a state machine in Hoon that models the functionality of a traffic
98light. Save the code below as `traffic.hoon` in your `/gen` directory.
tutorials/nock/_index.md−1
@@ -4,7 +4,6 @@ weight = 3
44sort_by = "weight"
55template = "sections/docs/chapters.html"
66aliases = ["docs/learn/nock/"]
7−insert_anchor_links = "right"
87+++
98> Last major revision of this tutorial: 2016. Minor revisions were made in October 2018 to bring it in line with the new Nock 4K spec.
109
tutorials/nock/definition.md−1
@@ -3,7 +3,6 @@ title = "Nock Definition"
33weight = 1
44template = "doc.html"
55aliases = ["docs/learn/nock/definition/"]
6−insert_anchor_links = "right"
76+++
87
98Nock is a Turing-complete function that maps a cell
tutorials/nock/example.md−1
@@ -3,7 +3,6 @@ title = "Example"
33weight = 3
44template = "doc.html"
55aliases = ["docs/learn/nock/example"]
6−insert_anchor_links = "right"
76+++
87Some people write assembly language by hand. Some of them have a
98good reason to do so. But there's no good reason to write Nock by
tutorials/nock/explanation.md−1
@@ -3,7 +3,6 @@ title = "Explanation"
33weight = 2
44template = "doc.html"
55aliases = ["docs/learn/nock/explanation"]
6−insert_anchor_links = "right"
76+++
87
98To make Nock make sense, let's work through the spec line by line.
tutorials/nock/implementations.md−1
@@ -2,7 +2,6 @@
22title = "Implementations"
33weight = 4
44template = "doc.html"
5−insert_anchor_links = "right"
65+++
76
87We use a C implementation for our Nock interpreter. But building a Nock interpreter in another language is a fun exercise. Check out our community Nock implementations, shown below our official C implementation. (Note: the community implementations were written for a slightly older version of Nock, Nock 5K. The current version is Nock 4K.):
tutorials/ship-troubleshooting.md−1
@@ -3,7 +3,6 @@ title = "Ship Troubleshooting"
33weight = 8
44template = "doc.html"
55aliases = ["docs/using/ship-troubleshooting/"]
6−insert_anchor_links = "right"
76+++
87
98Urbit is still in the development stage, so there's a chance that your ship won't start properly, or will stop working properly when you're running it. That's ok! This document is intended to help you in such an event.
tutorials/vere/_index.md−1
@@ -4,7 +4,6 @@ weight = 4
44sort_by = "weight"
55template = "sections/docs/chapters.html"
66aliases = ["/docs/learn/vere/"]
7−insert_anchor_links = "right"
87+++
98The Nock runtime system, written in C.
109
tutorials/vere/api.md−1
@@ -3,7 +3,6 @@ title = "API overview by prefix"
33weight = 4
44template = "doc.html"
55aliases = ["/docs/learn/vere/api"]
6−insert_anchor_links = "right"
76+++
87Let's run through the `u3` modules one by one. All public
98functions are commented, but the comments may be cryptic.
tutorials/vere/c.md−1
@@ -3,7 +3,6 @@ title = "C in Urbit"
33weight = 4
44template = "doc.html"
55aliases = ["/docs/learn/vere/c"]
6−insert_anchor_links = "right"
76+++
87Under `u3` is the simple `c3` layer, which is just how we write C
98in Urbit.
tutorials/vere/jetting.md−1
@@ -3,7 +3,6 @@ title = "Writing Jets"
33weight = 5
44template = "doc.html"
55aliases = ["/docs/learn/vere/jetting/"]
6−insert_anchor_links = "right"
76+++
87A guide for new Urbit developers.
98
tutorials/vere/nouns.md−1
@@ -3,7 +3,6 @@ title = "Land of Nouns"
33weight = 3
44template = "doc.html"
55aliases = ["/docs/learn/vere/nouns"]
6−insert_anchor_links = "right"
76+++
87The division between `c3` and `u3` is that you could theoretically
98imagine using `c3` as just a generic C environment. Anything to do
tutorials/vere/runtime.md−1
@@ -3,7 +3,6 @@ title = "C Runtime System"
33weight = 1
44template = "doc.html"
55aliases = ["docs/about/runtime/", "/docs/learn/vere/runtime"]
6−insert_anchor_links = "right"
76+++
87
98The Urbit interpreter is built on a Nock runtime system written