on master help sign in
fixing sail runes
commita2888ecb96d53b73d24faf71371b46edd85be062 authorjoshuareagan <josh@tlon.io> dateWed 17 Oct 2018, 14:28 (8 years ago) parentf16e532
3 files changed+40−31
docs/reference/rune/mic/lus.udon+25−11 docs/reference/rune/mic/tar.udon+8−13 docs/reference/rune/mic/tis.udon+7−7
docs/reference/rune/mic/lus.udon+25−11
@@ -7,11 +7,11 @@
77
88# `;+ "miclus"`
99
10−make an XML node (Sail)
10+make a single XML node (Sail)
1111
1212## Produces
1313
14−A noun that represents a single XML node.
14+A `marl`, i.e., a list of `manx`. A `manx` is a noun that represents a single XML node.
1515
1616## Syntax
1717
@@ -21,31 +21,45 @@ A noun that represents a single XML node.
2121;+ p=hoon
2222```
2323
24−`p` is a Hoon expression.
24+`p` is a Hoon expression that produces a `manx`.
2525
2626## Discussion
2727
28−This is a Sail rune. Sail is a part of Hoon used for creating and operating on nouns that represent XML nodes. Among other things it can be used to generate a static website using the appropriate render pipeline. See the [Sail tutorial](../../../../tutorial/sail).
28+tl;dr -- `;+` converts a `manx` to a `marl`.
2929
30−In Sail you can produce a single `<p>` node very simply in the following way:
30+`;+` is a Sail rune. Sail is a part of Hoon used for creating and operating on nouns that represent XML nodes. With the appropriate rendering pipeline, a Sail document can be used to generate a static website. See the [Sail tutorial](../../../../tutorial/sail).
31+
32+In Sail a single XML node is represented by a `manx`. A single `<p>` node `manx` can be produced in the following way:
3133
3234```
3335> ;p: This will be rendered as an XML node.
3436[[%p ~] [[%$ [%$ "This will be rendered as an XML node."] ~] ~] ~]
3537```
3638
37−One interesting thing about Sail is that it allows you to use complex Hoon expressions to choose from among several nodes to render. This is done with the `;+` rune.
39+Sometimes what is needed is a `marl`, i.e., a list of `manx`. To convert a single `manx` to a `marl`, use the `;+` rune.
40+
41+One interesting thing about Sail is that it allows you to use complex Hoon expressions to choose from among several nodes to render. The `;+` rune can take such a complex expression.
3842
3943## Examples
4044
4145```
42−> ;+ ?: (gth 3 2)
46+> ^- marl
47+ ;+ ?: (gth 3 2)
4348 ;p: This is the node for 'yes'.
4449 ;p: This is the node for 'no'.
45−[[[%p ~] [[%$ [%$ "This is the node for 'yes'."] ~] ~] ~] ~]
46−
47−> ;+ ?: (gth 2 3)
50+~[
51+ [ g=[n=%p a=~]
52+ c=[i=[g=[n=%$ a=~[[n=%$ v="This is the node for 'yes'."]]] c=~] t=~]
53+ ]
54+]
55+
56+> ^- marl
57+ ;+ ?: (gth 2 3)
4858 ;p: This is the node for 'yes'.
4959 ;p: This is the node for 'no'.
50−[[[%p ~] [[%$ [%$ "This is the node for 'no'."] ~] ~] ~] ~]
60+~[
61+ [ g=[n=%p a=~]
62+ c=[i=[g=[n=%$ a=~[[n=%$ v="This is the node for 'no'."]]] c=~] t=~]
63+ ]
64+]
5165```
docs/reference/rune/mic/tar.udon+8−13
@@ -7,34 +7,29 @@
77
88# `;* "mictar"`
99
10−make a list of XML nodes from a tuple (Sail)
10+make a list of XML nodes from complex Hoon expression (Sail)
1111
1212## Produces
1313
14−A list of nouns, each of which represents an XML node.
14+A `marl`, i.e., a list of `manx`. A `manx` is a noun that represents a single XML node.
1515
1616## Syntax
1717
18−*running*
18+*1-fixed*
1919
2020```
21−;* p=hoon q=hoon ... z=hoon ==
21+;* p=hoon
2222```
2323
24−`p`-`z` are Hoon expressions.
24+`p` is a Hoon expression that produces a `marl`.
2525
2626## Discussion
2727
28−This is a Sail rune. Sail is a part of Hoon used for creating and operating on nouns that represent XML nodes. Among other things it can be used to generate a static website using the appropriate render pipeline. See the [Sail tutorial](../../../../tutorial/sail).
28+`;*` is a Sail rune. Sail is a part of Hoon used for creating and operating on nouns that represent XML nodes. With the appropriate rendering pipeline, a Sail document can be used to generate a static website. See the [Sail tutorial](../../../../tutorial/sail).
2929
30−In Sail you can produce a single `<p>` node very simply in the following way:
30+If you need a complex Hoon expression to produce a `marl`, use the `;*` rune. Often this rune is used with an expression, `p`, that includes one or more `;=` subexpressions.
3131
32−```
33−> ;p: This will be rendered as an XML node.
34−[[%p ~] [[%$ [%$ "This will be rendered as an XML node."] ~] ~] ~]
35−```
36−
37−Sometimes you need a list of such nodes, usually produced with the `;*` rune. But to use this rune appropriately you must first put the desired nodes together with `;=`.
32+(See also [;=](./tis).)
3833
3934## Examples
4035
docs/reference/rune/mic/tis.udon+7−7
@@ -7,11 +7,11 @@
77
88# `;= "mictis"`
99
10−make a tuple of XML nodes (Sail)
10+make a list of XML nodes (Sail)
1111
1212## Produces
1313
14−A tuple of nouns, each of which represents an XML node.
14+A `marl`, i.e., a list of `manx`. A `manx` is a noun that represents a single XML node.
1515
1616## Syntax
1717
@@ -21,22 +21,22 @@ A tuple of nouns, each of which represents an XML node.
2121;= p=hoon q=hoon ... z=hoon ==
2222```
2323
24−`p`-`z` are Hoon expressions.
24+`p`-`z` are Hoon expressions, each of which poduces a `manx`.
2525
2626## Discussion
2727
28−This is a Sail rune. Sail is a part of Hoon used for creating and operating on nouns that represent XML nodes. Among other things it can be used to generate a static website using the appropriate render pipeline. See the [Sail tutorial](../../../../tutorial/sail).
28+`;=` is a Sail rune. Sail is a part of Hoon used for creating and operating on nouns that represent XML nodes. With the appropriate rendering pipeline, a Sail document can be used to generate a static website. See the [Sail tutorial](../../../../tutorial/sail).
2929
30−In Sail you can produce a single `<p>` node very simply in the following way:
30+In Sail a single XML node is represented by a `manx`. A single `<p>` node `manx` can be produced in the following way:
3131
3232```
3333> ;p: This will be rendered as an XML node.
3434[[%p ~] [[%$ [%$ "This will be rendered as an XML node."] ~] ~] ~]
3535```
3636
37−Sometimes you need a list of such nodes, usually produced with the `;*` rune. But to use this rune appropriately you must first put the desired nodes together with `;=`.
37+Sometimes what is needed is a `marl`, i.e., a list of `manx`. To convert a series of `manx` nodes to a `marl`, use the `;=` rune.
3838
39−(See [`;*`](./tar).)
39+(See also [`;*`](./tar).)
4040
4141## Examples
4242