aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-07-19 15:24:37 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-07-19 15:24:37 -0400
commit04a9b32f13a614cd51a6d9f1298bdd379510b229 (patch)
tree8455b65cb5f5e89f4786c24bdc18628649c75930
parent99ebfb2faf3a73dd90d8e30d16c80ce371cc0d14 (diff)
Point non-markdown local links back to github.com
-rw-r--r--docs/running.html8
-rw-r--r--docs/spec/index.html2
-rw-r--r--md.bqn11
3 files changed, 12 insertions, 9 deletions
diff --git a/docs/running.html b/docs/running.html
index a8c9a2e0..f0050150 100644
--- a/docs/running.html
+++ b/docs/running.html
@@ -8,14 +8,14 @@
<h3 id="dzaima-bqn">dzaima/BQN</h3>
<p><a href="https://github.com/dzaima/BQN/">dzaima/BQN</a> is an implementation in Java created by modifying the existing dzaima/APL. It should be easy to run on desktop Linux and Android. It is still in development and has almost complete syntax support but incomplete primitive support.</p>
<h3 id="dzaima-reference-bqn">dzaima+reference BQN</h3>
-<p>This repository contains a dzaima/BQN script <code><span class='Value'>dzref</span></code> that fills in the gaps in primitive support using BQN implementations of primitives which are not yet up to spec (<a href="spec/reference.bqn">reference implementations</a> of all primitives starting from a small set of pre-existing functions are part of BQN's specification). These alternate implementations can be very slow.</p>
-<p>You can run <code><span class='Value'>dzref</span></code> from ordinary dzaima/BQN using the <code><span class='Value'>•</span><span class='Function'>EX</span></code> command; see for example <a href="dcshim.bqn">dcshim.bqn</a>. For testing, it is run as a Unix script, in which case it depends on an executable <code><span class='Value'>dbqn</span></code> that runs dzaima/BQN on a file argument. I use the following script, using the path to a clone of dzaima/BQN for the jar file.</p>
+<p>This repository contains a dzaima/BQN script <code><span class='Value'>dzref</span></code> that fills in the gaps in primitive support using BQN implementations of primitives which are not yet up to spec (<a href="https://github.com/mlochbaum/BQN/blob/master/spec/reference.bqn">reference implementations</a> of all primitives starting from a small set of pre-existing functions are part of BQN's specification). These alternate implementations can be very slow.</p>
+<p>You can run <code><span class='Value'>dzref</span></code> from ordinary dzaima/BQN using the <code><span class='Value'>•</span><span class='Function'>EX</span></code> command; see for example <a href="https://github.com/mlochbaum/BQN/blob/master/dcshim.bqn">dcshim.bqn</a>. For testing, it is run as a Unix script, in which case it depends on an executable <code><span class='Value'>dbqn</span></code> that runs dzaima/BQN on a file argument. I use the following script, using the path to a clone of dzaima/BQN for the jar file.</p>
<pre><span class='Comment'>#! /bin/bash
</span>
<span class='Value'>java</span> <span class='Function'>-</span><span class='Value'>jar</span> <span class='Function'>/</span><span class='Value'>path</span><span class='Function'>/</span><span class='Value'>to</span><span class='Function'>/</span><span class='Value'>dzaima</span><span class='Function'>/BQN/BQN.jar</span> <span class='Function'>-</span><span class='Value'>f</span> <span class='String'>&quot;$@&quot;</span>
</pre>
<p>The left argument for <code><span class='Value'>•</span><span class='Function'>EX</span></code> or the shell arguments can contain up to two arguments for the script. The first is a file to run, and the second is BQN code to be run after it.</p>
<h3 id="bqn">BQN</h3>
-<p>This repository contains the beginnings of a self-hosted compiler for BQN, which is not yet complete enough to do any real programming with. There are currently several versions of the compiler: <a href="nc.bqn">nc.bqn</a> is run with BQN2NGN, while <a href="c.bqn">c.bqn</a> is run with dzaima+reference. Both compilers have a backend targetting <a href="https://en.wikipedia.org/wiki/WebAssembly">WebAssembly</a>, and c.bqn additionally has a backend that targets dzaima/BQN's own bytecode, so that the compiler uses only BQN, but the runtime uses the Java implementations of BQN primitives from dzaima/BQN.</p>
-<p>All versions have automated tests in the <a href="test/">test</a> directory, with the WebAssembly versions tested with Javascript using Node (<a href="test/t.js">test/t.js</a> and <a href="test/dt.js">test/dt.js</a> for BQN2NGN and dzaima/BQN respectively) and the dzaima/BQN backend tested with BQN itself (<a href="test/bt">test/bt</a>).</p>
+<p>This repository contains the beginnings of a self-hosted compiler for BQN, which is not yet complete enough to do any real programming with. There are currently several versions of the compiler: <a href="https://github.com/mlochbaum/BQN/blob/master/nc.bqn">nc.bqn</a> is run with BQN2NGN, while <a href="https://github.com/mlochbaum/BQN/blob/master/c.bqn">c.bqn</a> is run with dzaima+reference. Both compilers have a backend targetting <a href="https://en.wikipedia.org/wiki/WebAssembly">WebAssembly</a>, and c.bqn additionally has a backend that targets dzaima/BQN's own bytecode, so that the compiler uses only BQN, but the runtime uses the Java implementations of BQN primitives from dzaima/BQN.</p>
+<p>All versions have automated tests in the <a href="https://github.com/mlochbaum/BQN/blob/master/test/">test</a> directory, with the WebAssembly versions tested with Javascript using Node (<a href="https://github.com/mlochbaum/BQN/blob/master/test/t.js">test/t.js</a> and <a href="https://github.com/mlochbaum/BQN/blob/master/test/dt.js">test/dt.js</a> for BQN2NGN and dzaima/BQN respectively) and the dzaima/BQN backend tested with BQN itself (<a href="https://github.com/mlochbaum/BQN/blob/master/test/bt">test/bt</a>).</p>
diff --git a/docs/spec/index.html b/docs/spec/index.html
index 33705b4e..fc7941fb 100644
--- a/docs/spec/index.html
+++ b/docs/spec/index.html
@@ -10,6 +10,6 @@
<li><a href="grammar.html">Grammar</a></li>
<li>Scoping</li>
<li><a href="evaluate.html">Evaluation semantics</a></li>
-<li>Primitives (<a href="reference.bqn">reference implementations</a>)</li>
+<li>Primitives (<a href="https://github.com/mlochbaum/BQN/blob/master/spec/reference.bqn">reference implementations</a>)</li>
</ul>
diff --git a/md.bqn b/md.bqn
index 1e107a9a..2fbda327 100644
--- a/md.bqn
+++ b/md.bqn
@@ -83,7 +83,9 @@ CharEntities ← {1¨⊸𝕊𝕩; # 𝕨 gives characters to potentially escape
}
################################
-Markdown ← {𝕊𝕩:1𝕊𝕩; extensions𝕊𝕩:
+Markdown ← {filename𝕊𝕩:
+ extensions ← filename ≢ 0
+ path ← extensions◶""‿(⊢/˜·∨`⌾⌽'/'⊸=) filename
######
# Utilities
@@ -258,8 +260,9 @@ Markdown ← {𝕊𝕩:1𝕊𝕩; extensions𝕊𝕩:
unused ← actual ∧ include ∧ ¬ codeMask
# Links
- ReplaceMDSub ← { ¯2 ("README"•_r_"index"∘↓∾"html"˜)⍟(("md"≡↑)∧':'∧´∘≠⊢) 𝕩 }
- ReplaceMD ← { ReplaceMDSub⌾((⊑𝕩⊐"#")⊸↑) 𝕩 }
+ ghPath ← "https://github.com/mlochbaum/BQN/blob/master/"∾path
+ ReplaceMDSub ← { ¯2 ("md"≡↑)◶(ghPath⊸∾)‿("README"•_r_"index"∘↓∾"html"˜)⍟(':'∧´∘≠⊢) 𝕩 }
+ ReplaceMD ← { ReplaceMDSub⍟(0<≠)⌾((⊑𝕩⊐"#")⊸↑) 𝕩 }
ProcLink ← { ∾⟨"<a href=""",(ReplaceMD 𝕩),""">",ProcInline 𝕨,"</a>"⟩ }
# Find matched-depth [] and () pairs, then join adjacent ones
brak ← (unused ∧ 𝕩⊸=)¨ 2‿2⥊"[]()"
@@ -428,4 +431,4 @@ GetMultiHighlights ← {
Head ← "<head><link href="""∾("../"/˜"/"⊑∘∊⊢)∾"style.css"" rel=""stylesheet""/></head>"∾lf˜
nav ← "<div class=""nav""><a href=""https://github.com/mlochbaum/BQN"">BQN</a></div>"∾lf
-ConvertFile ← Head ∾ nav ∾ · Markdown∘•LNS •path∾⊢
+ConvertFile ← Head ∾ nav ∾ Markdown⟜(•LNS •path∾⊢)