aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-09-24 10:37:07 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-09-24 10:37:07 -0400
commit3863c3837ded859328243ae42f524c45741c872e (patch)
tree735cb1e60d1f04cc26666db3cff5d77cda6a04b7
parent5c5c5b08f16a03f9957c39552de18f716176abf4 (diff)
Add implementation README and navigation links in main README
-rw-r--r--README.md6
-rw-r--r--docs/implementation/index.html19
-rw-r--r--docs/index.html5
-rw-r--r--implementation/README.md14
4 files changed, 44 insertions, 0 deletions
diff --git a/README.md b/README.md
index 29f223cc..622a18a4 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,12 @@
# BQN: finally, an APL for your flying saucer
+<center>
+
+[documentation](doc/README.md) • [specification](spec/README.md) • [tutorials](tutorial/README.md) • [implementation](implementation/README.md)
+
+</center>
+
*Try it online below or [here](https://mlochbaum.github.io/BQN/try.html), and see [running.md](running.md) for more options.*
<!--REPL-->
diff --git a/docs/implementation/index.html b/docs/implementation/index.html
new file mode 100644
index 00000000..d4d7c047
--- /dev/null
+++ b/docs/implementation/index.html
@@ -0,0 +1,19 @@
+<head>
+ <link href="../favicon.ico" rel="shortcut icon" type="image/x-icon"/>
+ <link href="../style.css" rel="stylesheet"/>
+ <title>BQN implementation notes</title>
+</head>
+<div class="nav"><a href="https://github.com/mlochbaum/BQN">BQN</a></div>
+<h1 id="bqn-implementation-notes">BQN implementation notes</h1>
+<p>Notes about how BQN is implemented. There's not too much here yet.</p>
+<ul>
+<li><a href="codfns.html">Comparison to Co-dfns</a> discusses the general compilation strategy and how it compares to the only other array-based compiler.</li>
+<li><a href="vm.html">The BQN virtual machine and runtime</a> describes the non-self-hosted parts of the BQN implementation, that is, everything you need to port it to a new platform.</li>
+</ul>
+<p>I have also held some forum discussions on the actual workings of the compiler, but aborted these because the interactive format wasn't doing too much. I haven't yet started on non-interactive replacements.</p>
+<ul>
+<li><a href="https://chat.stackexchange.com/rooms/52405/conversation/lesson-s1-parenthesis-nesting-level">Parenthesis nesting level</a></li>
+<li><a href="https://chat.stackexchange.com/rooms/52405/conversation/lesson-s2-infix-to-rpn">Infix to RPN</a></li>
+<li><a href="https://chat.stackexchange.com/rooms/52405/conversation/lesson-s3-parsing-expressions-with-parentheses">Parsing expressions with parentheses</a></li>
+</ul>
+
diff --git a/docs/index.html b/docs/index.html
index 3cee0ead..0f1fa73b 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -5,6 +5,11 @@
</head>
<div class="nav"><a href="https://github.com/mlochbaum/BQN">BQN</a></div>
<h1 id="bqn-finally-an-apl-for-your-flying-saucer">BQN: finally, an APL for your flying saucer</h1>
+<center>
+
+<p><a href="doc/index.html">documentation</a> • <a href="spec/index.html">specification</a> • <a href="tutorial/index.html">tutorials</a> • <a href="implementation/index.html">implementation</a></p>
+</center>
+
<p><em>Try it online below or <a href="https://mlochbaum.github.io/BQN/try.html">here</a>, and see <a href="running.html">running.md</a> for more options.</em></p>
<div class='cont'>
<div class='kb'></div>
diff --git a/implementation/README.md b/implementation/README.md
new file mode 100644
index 00000000..3addce09
--- /dev/null
+++ b/implementation/README.md
@@ -0,0 +1,14 @@
+*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/implementation/index.html).*
+
+# BQN implementation notes
+
+Notes about how BQN is implemented. There's not too much here yet.
+
+- [Comparison to Co-dfns](codfns.md) discusses the general compilation strategy and how it compares to the only other array-based compiler.
+- [The BQN virtual machine and runtime](vm.md) describes the non-self-hosted parts of the BQN implementation, that is, everything you need to port it to a new platform.
+
+I have also held some forum discussions on the actual workings of the compiler, but aborted these because the interactive format wasn't doing too much. I haven't yet started on non-interactive replacements.
+
+- [Parenthesis nesting level](https://chat.stackexchange.com/rooms/52405/conversation/lesson-s1-parenthesis-nesting-level)
+- [Infix to RPN](https://chat.stackexchange.com/rooms/52405/conversation/lesson-s2-infix-to-rpn)
+- [Parsing expressions with parentheses](https://chat.stackexchange.com/rooms/52405/conversation/lesson-s3-parsing-expressions-with-parentheses)