on master help sign in
Temporary Hoon sort order fix.

Exercises are supposed to come after the rest of the Hoon docs, but the sorting bug is placing them second. I’m about to fix this bug in the ES6 branch I believe, but we might just want to get this up now anyways. Atom also deleted some trailing whitespace.

commitdbb74d7b9e3b810a774d8a894caacfd4579346c6 authorKeaton Dunsford <keaton@tlon.io> dateTue 14 Feb 2017, 13:44 (10 years ago) parent7a78fcb
10 files changed+23−23
docs/hoon/advanced.md+2−2 docs/hoon/basic.md+3−3 docs/hoon/concepts.md+6−6 docs/hoon/demo.md+2−2 docs/hoon/examples.md+2−2 docs/hoon/library.md+1−1 docs/hoon/mission.md+1−1 docs/hoon/reference.md+1−1 docs/hoon/syntax.md+3−3 docs/hoon/twig.md+2−2
docs/hoon/advanced.md+2−2
@@ -1,6 +1,6 @@
11---
22navhome: /docs/
3−sort: 7
3+sort: 17
44next: true
55title: Advanced types
66---
@@ -193,6 +193,6 @@ If a name is in the `q.p` map, it's a bridge. When we search for
193193a name, we also compile the bridge, and check if the name
194194resolves against the bridge product. If so, we use it.
195195
196−These hacks let us deal with interesting large-scale problems,
196+These hacks let us deal with interesting large-scale problems,
197197like complex library dependencies. You definitely don't need to
198198understand them to just write simple Hoon programs.
docs/hoon/basic.md+3−3
@@ -1,6 +1,6 @@
11---
22navhome: /docs/
3−sort: 5
3+sort: 15
44next: true
55title: Basic types
66---
@@ -8,7 +8,7 @@ title: Basic types
88# Basic types
99
1010A `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
1212to say "type," it would mean `span`.
1313
1414## Type, span and mold
@@ -40,7 +40,7 @@ hopefully you aren't!
4040
4141## `span`: a set of nouns
4242
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,
4444and we haven't explained it yet; just treat it as pseudocode.
4545
4646This is a slightly simplified version of `span`. We undo and explain the
docs/hoon/concepts.md+6−6
@@ -1,6 +1,6 @@
11---
22navhome: /docs/
3−sort: 3
3+sort: 13
44next: true
55title: Concepts
66---
@@ -27,7 +27,7 @@ mean `span`, or `mold`, or `mark`, or possibly all three.
2727Other common programming concepts used only informally in Hoon
2828are "function," "object," "event," "expression," "variable,"
2929"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
3131an analogy whose precision depends on context.
3232
3333Hoon has concepts *like* all these abstractions, but they remain
@@ -51,7 +51,7 @@ simpler (Lisp atoms effectively have dynamic type bits).
5151
5252The simplest noun syntax uses brackets, like `[a b]` for the cell
5353of `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}`.
5555
5656A noun list, by convention, points right and is zero-terminated.
5757Hoon 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`.
6464
6565One common operation on nouns is `slot`, a tree addressing
6666scheme 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`.
6868
6969Nothing in Nock, Hoon or Urbit can create cycles in a noun or
7070detect pointer equivalence. Nouns are generally implemented
@@ -164,7 +164,7 @@ formula. The gate's argument is its *sample*; the result is its
164164### `core` (object)
165165
166166A `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
168168core has functionally computed attributes (*arms*). An arm that
169169produces a gate is the Hoon equivalent of a conventional method;
170170think 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`.
201201
202202### `limb` (attribute or variable reference)
203203
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
205205reference. A limb is a twig; given a subject span, `mint`
206206resolves it to a Nock formula and a product span.
207207
docs/hoon/demo.md+2−2
@@ -1,13 +1,13 @@
11---
22navhome: /docs/
3−sort: 1
3+sort: 10
44next: true
55title: Demo
66---
77
88# Demo
99
10−Here's everyone's favorite whiteboard example, FizzBuzz. Each
10+Here's everyone's favorite whiteboard example, FizzBuzz. Each
1111line is commented with its number:
1212
1313```
docs/hoon/examples.md+2−2
@@ -1,6 +1,6 @@
11---
22navhome: /docs/
3−sort: 8
3+sort: 18
44title: Examples
55next: true
66---
@@ -253,7 +253,7 @@ moves (`move)`; actions are tic-tac-toe results (`fact`).
253253 :loop :cast (list fact) :: 3
254254 :ifno feed ~ :: 4
255255```
256−
256+
257257Line `1` wraps a conclusion around a stack of cores. The cores
258258at `11` and `26` are the data structures and functions of the
259259engine; the conclusion is the interface and top-level logic. It
docs/hoon/library.md+1−1
@@ -1,6 +1,6 @@
11---
22navhome: /docs/
3−sort: 10
3+sort: 20
44title: Standard library
55---
66
docs/hoon/mission.md+1−1
@@ -1,6 +1,6 @@
11---
22navhome: /docs/
3−sort: 2
3+sort: 12
44next: true
55title: Mission
66---
docs/hoon/reference.md+1−1
@@ -1,6 +1,6 @@
11---
22navhome: /docs/
3−sort: 9
3+sort: 19
44title: Twig reference
55---
66
docs/hoon/syntax.md+3−3
@@ -1,6 +1,6 @@
11---
22navhome: /docs/
3−sort: 4
3+sort: 14
44next: true
55title: Syntax
66---
@@ -187,7 +187,7 @@ is self-terminating. Otherwise the twig is terminated by a
187187The *running* body is a list of twigs. The *jogging* body is a
188188list of twig pairs, separated by a `gap`. The *battery* body is
189189a list of symbol-twig pairs, separated by a gap, prefixed by `++`
190−and then a gap.
190+and then a gap.
191191
192192This definition is enough to parse. But the proper shape of the
193193whitespace gaps demands an informal convention.
@@ -342,7 +342,7 @@ In the *lapidary* naming style, labels are pronounceable
342342three-letter strings, usually CVC (consonant-vowel-consonant).
343343Sometimes they encode a mnemonic, but usually they are just
344344memorable. Labels are reused wherever the analogy seems
345−appropriate.
345+appropriate.
346346
347347In the *ultralapidary* naming style, labels are single letters,
348348starting in order of construction from `a`, or within a tuple
docs/hoon/twig.md+2−2
@@ -1,6 +1,6 @@
11---
22navhome: /docs/
3−sort: 6
3+sort: 16
44next: true
55title: Expressions
66---
@@ -60,7 +60,7 @@ have a span that describes it.)
6060And of course, Hoon is a functional language, so seeds sometimes
6161produce a mold -- because we do pass around functions as values.
6262Don't worry about this issue. It will totally make sense soon.
63−
63+
6464But writing `[%foo %bar]` where you mean `{$foo $bar}`, or the
6565reverse, is a common beginner's mistake in Hoon. At least it
6666always results in a compiler error (since the noun types are so