aboutsummaryrefslogtreecommitdiff
path: root/docs/doc/train.html
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-08-11 14:06:02 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2021-08-11 14:06:02 -0400
commit65eef4fade5eb426dae01d480f383b8a30b23071 (patch)
treed5d98e372f68c928b7aaa2741f26cf89d5745ffc /docs/doc/train.html
parente64ea0c5da34a59393e3b539cc1811ac63dfe3f4 (diff)
Change "BQN / main" in header to "(github) / BQN"
Diffstat (limited to 'docs/doc/train.html')
-rw-r--r--docs/doc/train.html2
1 files changed, 1 insertions, 1 deletions
diff --git a/docs/doc/train.html b/docs/doc/train.html
index 8800d7f5..b9c2f398 100644
--- a/docs/doc/train.html
+++ b/docs/doc/train.html
@@ -3,7 +3,7 @@
<link href="../style.css" rel="stylesheet"/>
<title>BQN: Function trains</title>
</head>
-<div class="nav"><a href="https://github.com/mlochbaum/BQN">BQN</a> / <a href="../index.html">main</a> / <a href="index.html">doc</a></div>
+<div class="nav">(<a href="https://github.com/mlochbaum/BQN">github</a>) / <a href="../index.html">BQN</a> / <a href="index.html">doc</a></div>
<h1 id="function-trains">Function trains</h1>
<p>Trains are an important aspect of BQN's <a href="tacit.html">tacit</a> programming capabilities. In fact, a crucial one: with trains and the <a href="identity.html">identity functions</a> Left (<code><span class='Function'>⊣</span></code>) and Right (<code><span class='Function'>⊢</span></code>), a fully tacit program can express any explicit function whose body is a statement with <code><span class='Value'>𝕨</span></code> and <code><span class='Value'>𝕩</span></code> used only as arguments (that is, there are no assignments and <code><span class='Value'>𝕨</span></code> and <code><span class='Value'>𝕩</span></code> are not used in operands or lists. Functions with assignments may have too many variables active at once to be directly translated but can be emulated by constructing lists. But it's probably a bad idea). Without trains it isn't possible to have two different functions that each use both arguments to a dyadic function. With trains it's perfectly natural.</p>
<p>BQN's trains are the same as those of Dyalog APL, except that Dyalog is missing the minor convenience of BQN's Nothing (<code><span class='Nothing'>·</span></code>). There are many Dyalog-based documents and videos on trains you can view on the <a href="https://aplwiki.com/wiki/Train">APL Wiki</a>.</p>