on master help sign in
Temporary Hoon sort order fix.
dbb74d7Keaton Dunsford
docs/hoon/advanced.md+2−2
@@ -1,6 +1,6 @@
1---
1---
2navhome: /docs/
2navhome: /docs/
3−sort: 7
3+sort: 17
4next: true
4next: true
5title: Advanced types
5title: Advanced types
6---
6---
@@ -193,6 +193,6 @@ If a name is in the `q.p` map, it's a bridge. When we search for
193a name, we also compile the bridge, and check if the name
193a name, we also compile the bridge, and check if the name
194resolves against the bridge product. If so, we use it.
194resolves against the bridge product. If so, we use it.
195
195
196−These hacks let us deal with interesting large-scale problems,
196+These hacks let us deal with interesting large-scale problems,
197like complex library dependencies. You definitely don't need to
197like complex library dependencies. You definitely don't need to
198understand them to just write simple Hoon programs.
198understand them to just write simple Hoon programs.
docs/hoon/basic.md+3−3
@@ -1,6 +1,6 @@
1---
1---
2navhome: /docs/
2navhome: /docs/
3−sort: 5
3+sort: 15
4next: true
4next: true
5title: Basic types
5title: Basic types
6---
6---
@@ -8,7 +8,7 @@ title: Basic types
8# Basic types
8# Basic types
9
9
10A `span` is a set of nouns and an interpretation of these nouns.
10A `span` is a set of nouns and an interpretation of these nouns.
11−Officially, we don't use the word "type" in Hoon. But if we had
11+Officially, we don't use the word "type" in Hoon. But if we had
12to say "type," it would mean `span`.
12to say "type," it would mean `span`.
13
13
14## Type, span and mold
14## Type, span and mold
@@ -40,7 +40,7 @@ hopefully you aren't!
40
40
41## `span`: a set of nouns
41## `span`: a set of nouns
42
42
43−Below is the mold for `span`. You haven't seen this syntax before,
43+Below is the mold for `span`. You haven't seen this syntax before,
44and we haven't explained it yet; just treat it as pseudocode.
44and we haven't explained it yet; just treat it as pseudocode.
45
45
46This is a slightly simplified version of `span`. We undo and explain the
46This is a slightly simplified version of `span`. We undo and explain the
docs/hoon/concepts.md+6−6
@@ -1,6 +1,6 @@
1---
1---
2navhome: /docs/
2navhome: /docs/
3−sort: 3
3+sort: 13
4next: true
4next: true
5title: Concepts
5title: Concepts
6---
6---
@@ -27,7 +27,7 @@ mean `span`, or `mold`, or `mark`, or possibly all three.
27Other common programming concepts used only informally in Hoon
27Other common programming concepts used only informally in Hoon
28are "function," "object," "event," "expression," "variable,"
28are "function," "object," "event," "expression," "variable,"
29"label," "closure", "environment," "scope," and probably a few
29"label," "closure", "environment," "scope," and probably a few
30−more. We do use these words informally, but we're always making
30+more. We do use these words informally, but we're always making
31an analogy whose precision depends on context.
31an analogy whose precision depends on context.
32
32
33Hoon has concepts *like* all these abstractions, but they remain
33Hoon has concepts *like* all these abstractions, but they remain
@@ -51,7 +51,7 @@ simpler (Lisp atoms effectively have dynamic type bits).
51
51
52The simplest noun syntax uses brackets, like `[a b]` for the cell
52The simplest noun syntax uses brackets, like `[a b]` for the cell
53of `a` and `b`. Brackets nest right; `[a b c d]` is `[a [b [c
53of `a` and `b`. Brackets nest right; `[a b c d]` is `[a [b [c
54−d]]]`. You'll also see braces: `{a b c d}`.
54+d]]]`. You'll also see braces: `{a b c d}`.
55
55
56A noun list, by convention, points right and is zero-terminated.
56A noun list, by convention, points right and is zero-terminated.
57Hoon uses tuples (improper nouns) more freely than Lisp; only
57Hoon uses tuples (improper nouns) more freely than Lisp; only
@@ -64,7 +64,7 @@ etc, this refers to the integer `0x6f.6f66`, aka `7.303.014`.
64
64
65One common operation on nouns is `slot`, a tree addressing
65One common operation on nouns is `slot`, a tree addressing
66scheme which maps an atom to a subtree. The whole noun is slot
66scheme which maps an atom to a subtree. The whole noun is slot
67−`1`; the left child of `n` is `2n`, the right child `2n+1`.
67+`1`; the left child of `n` is `2n`, the right child `2n+1`.
68
68
69Nothing in Nock, Hoon or Urbit can create cycles in a noun or
69Nothing in Nock, Hoon or Urbit can create cycles in a noun or
70detect pointer equivalence. Nouns are generally implemented
70detect pointer equivalence. Nouns are generally implemented
@@ -164,7 +164,7 @@ formula. The gate's argument is its *sample*; the result is its
164### `core` (object)
164### `core` (object)
165
165
166A `core` has no exact equivalent in conventional languages, but
166A `core` has no exact equivalent in conventional languages, but
167−the closest equivalent is an object. An object has methods; a
167+the closest equivalent is an object. An object has methods; a
168core has functionally computed attributes (*arms*). An arm that
168core has functionally computed attributes (*arms*). An arm that
169produces a gate is the Hoon equivalent of a conventional method;
169produces a gate is the Hoon equivalent of a conventional method;
170think of it as a computed attribute whose value is a lambda.
170think of it as a computed attribute whose value is a lambda.
@@ -201,7 +201,7 @@ whose value is of type `atom`; it's a subtree of type `foo:atom`.
201
201
202### `limb` (attribute or variable reference)
202### `limb` (attribute or variable reference)
203
203
204−A [`limb`](../twig/limb/limb), like `foo`, is Hoon's equivalent of a variable
204+A [`limb`](../twig/limb/limb), like `foo`, is Hoon's equivalent of a variable
205reference. A limb is a twig; given a subject span, `mint`
205reference. A limb is a twig; given a subject span, `mint`
206resolves it to a Nock formula and a product span.
206resolves it to a Nock formula and a product span.
207
207
docs/hoon/demo.md+2−2
@@ -1,13 +1,13 @@
1---
1---
2navhome: /docs/
2navhome: /docs/
3−sort: 1
3+sort: 10
4next: true
4next: true
5title: Demo
5title: Demo
6---
6---
7
7
8# Demo
8# Demo
9
9
10−Here's everyone's favorite whiteboard example, FizzBuzz. Each
10+Here's everyone's favorite whiteboard example, FizzBuzz. Each
11line is commented with its number:
11line is commented with its number:
12
12
13```
13```
docs/hoon/examples.md+2−2
@@ -1,6 +1,6 @@
1---
1---
2navhome: /docs/
2navhome: /docs/
3−sort: 8
3+sort: 18
4title: Examples
4title: Examples
5next: true
5next: true
6---
6---
@@ -253,7 +253,7 @@ moves (`move)`; actions are tic-tac-toe results (`fact`).
253 :loop :cast (list fact) :: 3
253 :loop :cast (list fact) :: 3
254 :ifno feed ~ :: 4
254 :ifno feed ~ :: 4
255```
255```
256−
256+
257Line `1` wraps a conclusion around a stack of cores. The cores
257Line `1` wraps a conclusion around a stack of cores. The cores
258at `11` and `26` are the data structures and functions of the
258at `11` and `26` are the data structures and functions of the
259engine; the conclusion is the interface and top-level logic. It
259engine; the conclusion is the interface and top-level logic. It
docs/hoon/library.md+1−1
@@ -1,6 +1,6 @@
1---
1---
2navhome: /docs/
2navhome: /docs/
3−sort: 10
3+sort: 20
4title: Standard library
4title: Standard library
5---
5---
6
6
docs/hoon/mission.md+1−1
@@ -1,6 +1,6 @@
1---
1---
2navhome: /docs/
2navhome: /docs/
3−sort: 2
3+sort: 12
4next: true
4next: true
5title: Mission
5title: Mission
6---
6---
docs/hoon/reference.md+1−1
@@ -1,6 +1,6 @@
1---
1---
2navhome: /docs/
2navhome: /docs/
3−sort: 9
3+sort: 19
4title: Twig reference
4title: Twig reference
5---
5---
6
6
docs/hoon/syntax.md+3−3
@@ -1,6 +1,6 @@
1---
1---
2navhome: /docs/
2navhome: /docs/
3−sort: 4
3+sort: 14
4next: true
4next: true
5title: Syntax
5title: Syntax
6---
6---
@@ -187,7 +187,7 @@ is self-terminating. Otherwise the twig is terminated by a
187The *running* body is a list of twigs. The *jogging* body is a
187The *running* body is a list of twigs. The *jogging* body is a
188list of twig pairs, separated by a `gap`. The *battery* body is
188list of twig pairs, separated by a `gap`. The *battery* body is
189a list of symbol-twig pairs, separated by a gap, prefixed by `++`
189a list of symbol-twig pairs, separated by a gap, prefixed by `++`
190−and then a gap.
190+and then a gap.
191
191
192This definition is enough to parse. But the proper shape of the
192This definition is enough to parse. But the proper shape of the
193whitespace gaps demands an informal convention.
193whitespace gaps demands an informal convention.
@@ -342,7 +342,7 @@ In the *lapidary* naming style, labels are pronounceable
342three-letter strings, usually CVC (consonant-vowel-consonant).
342three-letter strings, usually CVC (consonant-vowel-consonant).
343Sometimes they encode a mnemonic, but usually they are just
343Sometimes they encode a mnemonic, but usually they are just
344memorable. Labels are reused wherever the analogy seems
344memorable. Labels are reused wherever the analogy seems
345−appropriate.
345+appropriate.
346
346
347In the *ultralapidary* naming style, labels are single letters,
347In the *ultralapidary* naming style, labels are single letters,
348starting in order of construction from `a`, or within a tuple
348starting in order of construction from `a`, or within a tuple
docs/hoon/twig.md+2−2
@@ -1,6 +1,6 @@
1---
1---
2navhome: /docs/
2navhome: /docs/
3−sort: 6
3+sort: 16
4next: true
4next: true
5title: Expressions
5title: Expressions
6---
6---
@@ -60,7 +60,7 @@ have a span that describes it.)
60And of course, Hoon is a functional language, so seeds sometimes
60And of course, Hoon is a functional language, so seeds sometimes
61produce a mold -- because we do pass around functions as values.
61produce a mold -- because we do pass around functions as values.
62Don't worry about this issue. It will totally make sense soon.
62Don't worry about this issue. It will totally make sense soon.
63−
63+
64But writing `[%foo %bar]` where you mean `{$foo $bar}`, or the
64But writing `[%foo %bar]` where you mean `{$foo $bar}`, or the
65reverse, is a common beginner's mistake in Hoon. At least it
65reverse, is a common beginner's mistake in Hoon. At least it
66always results in a compiler error (since the noun types are so
66always results in a compiler error (since the noun types are so