aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2022-05-08 13:48:52 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2022-05-08 13:48:52 -0400
commit9a2978af122dc0c043020c77d96318679cb7575a (patch)
tree21b006d20d8b54693c2f13dcb090ba3d6825d590
parent682ec99d2c5fbef60be6ac08c027fa09a5d0f37e (diff)
Add combinator documentation links to tutorials
-rw-r--r--docs/tutorial/combinator.html1
-rw-r--r--docs/tutorial/expression.html8
-rw-r--r--tutorial/combinator.md2
-rw-r--r--tutorial/expression.md8
4 files changed, 11 insertions, 8 deletions
diff --git a/docs/tutorial/combinator.html b/docs/tutorial/combinator.html
index 23a2d410..baddaa83 100644
--- a/docs/tutorial/combinator.html
+++ b/docs/tutorial/combinator.html
@@ -836,5 +836,6 @@
</g>
</svg>
+<p>Documentation: <a href="../doc/compose.html">Atop and Over</a>, <a href="../doc/hook.html">Before and After</a>, <a href="../doc/swap.html">Self/Swap</a>, <a href="../doc/constant.html">Constant</a>.</p>
<p>A data value (number, character, or array) can be applied as a function, in which case it ignores any arguments and returns itself. In particular, using a data value as the left operand of Before or the right operand of After is called Bind because it attaches that data value as an argument to the other operand.</p>
<p>This section was a bit long because combinators are conceptually difficult, but as you can see we didn't cover all that much material (and our diagrams <em>fully</em> define the combinators in question, which is unusual in a summary!). The tacit style we've used here can be very confusing or uncomfortable at first, maybe <em>because</em> it's so radically simple. We'll keep working with it in future tutorials, and it should start to feel more solid and logical. Even if not, that's okay! As I said, BQN has a more explicit function style as well, and it's completely possible to program without ever using a combinator. But perhaps you'll find that a well-placed Over or Bind can make things a lot smoother.</p>
diff --git a/docs/tutorial/expression.html b/docs/tutorial/expression.html
index 912b6666..3708dc95 100644
--- a/docs/tutorial/expression.html
+++ b/docs/tutorial/expression.html
@@ -448,22 +448,22 @@
<tr>
<td>1-modifiers</td>
<td><code><span class='Modifier'>˜</span></code></td>
-<td>Swap, Self</td>
+<td><a href="../doc/swap.html">Swap, Self</a></td>
</tr>
<tr>
<td></td>
<td><code><span class='Modifier'>⁼</span></code></td>
-<td>Undo</td>
+<td><a href="../doc/undo.html">Undo</a></td>
</tr>
<tr>
<td></td>
<td><code><span class='Modifier'>˙</span></code></td>
-<td>Constant</td>
+<td><a href="../doc/constant.html">Constant</a></td>
</tr>
<tr>
<td>2-modifiers</td>
<td><code><span class='Modifier2'>∘</span></code></td>
-<td>Atop</td>
+<td><a href="../doc/compose.html">Atop</a></td>
</tr>
</tbody>
</table>
diff --git a/tutorial/combinator.md b/tutorial/combinator.md
index 70f03cfa..eedb1ee7 100644
--- a/tutorial/combinator.md
+++ b/tutorial/combinator.md
@@ -320,6 +320,8 @@ A combinator is a function or modifier that produces its result from its inputs
DrawComp "∘˜˙"≍"○⊸⟜"
-->
+Documentation: [Atop and Over](../doc/compose.md), [Before and After](../doc/hook.md), [Self/Swap](../doc/swap.md), [Constant](../doc/constant.md).
+
A data value (number, character, or array) can be applied as a function, in which case it ignores any arguments and returns itself. In particular, using a data value as the left operand of Before or the right operand of After is called Bind because it attaches that data value as an argument to the other operand.
This section was a bit long because combinators are conceptually difficult, but as you can see we didn't cover all that much material (and our diagrams *fully* define the combinators in question, which is unusual in a summary!). The tacit style we've used here can be very confusing or uncomfortable at first, maybe *because* it's so radically simple. We'll keep working with it in future tutorials, and it should start to feel more solid and logical. Even if not, that's okay! As I said, BQN has a more explicit function style as well, and it's completely possible to program without ever using a combinator. But perhaps you'll find that a well-placed Over or Bind can make things a lot smoother.
diff --git a/tutorial/expression.md b/tutorial/expression.md
index 840b6086..e058007d 100644
--- a/tutorial/expression.md
+++ b/tutorial/expression.md
@@ -222,10 +222,10 @@ The objects we've seen so far are:
| | `⋆` | Power
| | `√` | (Square) Root
| | `⋆⁼` | Logarithm
-| 1-modifiers | `˜` | Swap, Self
-| | `⁼` | Undo
-| | `˙` | Constant
-| 2-modifiers | `∘` | Atop
+| 1-modifiers | `˜` | [Swap, Self](../doc/swap.md)
+| | `⁼` | [Undo](../doc/undo.md)
+| | `˙` | [Constant](../doc/constant.md)
+| 2-modifiers | `∘` | [Atop](../doc/compose.md)
Except for `⋆⁼`, which is just a particular case of a modifier applied to a function, everything we've seen is either a *literal* (characters and numbers) or a *primitive* (functions and modifiers), and has a fixed value. Primitive 1-modifiers have superscript characters and 2-modifiers contain unbroken circles. Other primitives are always functions.