aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-09-05 22:35:45 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-09-05 22:41:33 -0400
commit01b2c731cda913f78955024137c0468a03622358 (patch)
tree07558a72feb6ea6e153dc21cb13f7f51e41c1113
parented5fbd5e72c3a20de4bb321a3923fc7e7e87a596 (diff)
Move ~/c.bqn to ~/dc.bqn since it no longer duplicates c.bqn
-rwxr-xr-xcshim.bqn2
-rwxr-xr-xdc.bqn (renamed from c.bqn)0
-rw-r--r--docs/running.html2
-rw-r--r--running.md2
-rwxr-xr-xsrc/cjs.bqn2
-rwxr-xr-xtest/cmpref.bqn2
6 files changed, 5 insertions, 5 deletions
diff --git a/cshim.bqn b/cshim.bqn
index 18396541..8b42855d 100755
--- a/cshim.bqn
+++ b/cshim.bqn
@@ -1,3 +1,3 @@
#! /usr/bin/env dbqn
-((<•path∾"c.bqn")∾•args) •EX •path∾"dzref"
+((<•path∾"dc.bqn")∾•args) •EX •path∾"dzref"
diff --git a/c.bqn b/dc.bqn
index ae4f3cc5..ae4f3cc5 100755
--- a/c.bqn
+++ b/dc.bqn
diff --git a/docs/running.html b/docs/running.html
index 4a3f952d..c5c3771b 100644
--- a/docs/running.html
+++ b/docs/running.html
@@ -7,7 +7,7 @@
<h1 id="how-to-run-bqn">How to run BQN</h1>
<p>BQN is in an early stage of development, and no implementation is complete yet. However, it's a relatively simple language to implement, and a few implementations come close. At the moment, dzaima/BQN is the most usable version, with good performance and error reporting.</p>
<h3 id="bqn">BQN</h3>
-<p>This repository contains a BQN implementation written mainly in BQN: the bytecode <a href="https://github.com/mlochbaum/BQN/blob/master/src/c.bqn">compiler</a> is completely self-hosted, and the <a href="https://github.com/mlochbaum/BQN/blob/master/src/r.bqn">majority of the runtime</a> is written in BQN except that it is allowed to define primitives; some preprocessing turns the primitives into identifiers. The remaining part, a VM, can be implemented in any language to obtain a version of BQN running in that language. A <a href="https://github.com/mlochbaum/BQN/blob/master/docs/bqn.js">Javascript implementation</a> allows BQN to be run as a REPL (running locally) from <a href="https://mlochbaum.github.io/BQN/try.html">this webpage</a> or in Node.js as a library. The bytecode is also the same as dzaima/BQN's format, and <a href="https://github.com/mlochbaum/BQN/blob/master/c.bqn">another version</a> of the compiler runs on and targets dzaima+reference BQN. This version also contains an earlier experiment targetting <a href="https://en.wikipedia.org/wiki/WebAssembly">WebAssembly</a> that works only on a very small subset of BQN.</p>
+<p>This repository contains a BQN implementation written mainly in BQN: the bytecode <a href="https://github.com/mlochbaum/BQN/blob/master/src/c.bqn">compiler</a> is completely self-hosted, and the <a href="https://github.com/mlochbaum/BQN/blob/master/src/r.bqn">majority of the runtime</a> is written in BQN except that it is allowed to define primitives; some preprocessing turns the primitives into identifiers. The remaining part, a VM, can be implemented in any language to obtain a version of BQN running in that language. A <a href="https://github.com/mlochbaum/BQN/blob/master/docs/bqn.js">Javascript implementation</a> allows BQN to be run as a REPL (running locally) from <a href="https://mlochbaum.github.io/BQN/try.html">this webpage</a> or in Node.js as a library. The bytecode is also the same as dzaima/BQN's format, and <a href="https://github.com/mlochbaum/BQN/blob/master/dc.bqn">an extension</a> to the compiler adjusts the slightly different block declarations to target dzaima+reference BQN. This version also contains an earlier experiment targetting <a href="https://en.wikipedia.org/wiki/WebAssembly">WebAssembly</a> that works only on a very small subset of BQN.</p>
<p>This version is not yet suitable for serious programming. The runtime checks for errors but the compiler does not, so syntax errors go unreported. It does not yet support function headers or multiple bodies. The Javascript-based compiler is also slow, taking about 0.05 seconds plus 1 second per kilobyte of source (this is purely due to the slow runtime, as dzaima+reference achieves 3ms/kB with the same compiler once warmed up).</p>
<p>All versions have automated tests in the <a href="https://github.com/mlochbaum/BQN/blob/master/test/">test</a> directory, with the self-hosted version (<a href="https://github.com/mlochbaum/BQN/blob/master/test/tj.js">test/tj.js</a>) and WebAssembly backend (<a href="https://github.com/mlochbaum/BQN/blob/master/test/t.js">test/t.js</a>) tested with Javascript using Node and the dzaima/BQN backend tested with BQN itself (<a href="https://github.com/mlochbaum/BQN/blob/master/test/bt">test/bt</a>).</p>
<h3 id="dzaimabqn">dzaima/BQN</h3>
diff --git a/running.md b/running.md
index d8775834..165f380a 100644
--- a/running.md
+++ b/running.md
@@ -6,7 +6,7 @@ BQN is in an early stage of development, and no implementation is complete yet.
### BQN
-This repository contains a BQN implementation written mainly in BQN: the bytecode [compiler](src/c.bqn) is completely self-hosted, and the [majority of the runtime](src/r.bqn) is written in BQN except that it is allowed to define primitives; some preprocessing turns the primitives into identifiers. The remaining part, a VM, can be implemented in any language to obtain a version of BQN running in that language. A [Javascript implementation](docs/bqn.js) allows BQN to be run as a REPL (running locally) from [this webpage](https://mlochbaum.github.io/BQN/try.html) or in Node.js as a library. The bytecode is also the same as dzaima/BQN's format, and [another version](c.bqn) of the compiler runs on and targets dzaima+reference BQN. This version also contains an earlier experiment targetting [WebAssembly](https://en.wikipedia.org/wiki/WebAssembly) that works only on a very small subset of BQN.
+This repository contains a BQN implementation written mainly in BQN: the bytecode [compiler](src/c.bqn) is completely self-hosted, and the [majority of the runtime](src/r.bqn) is written in BQN except that it is allowed to define primitives; some preprocessing turns the primitives into identifiers. The remaining part, a VM, can be implemented in any language to obtain a version of BQN running in that language. A [Javascript implementation](docs/bqn.js) allows BQN to be run as a REPL (running locally) from [this webpage](https://mlochbaum.github.io/BQN/try.html) or in Node.js as a library. The bytecode is also the same as dzaima/BQN's format, and [an extension](dc.bqn) to the compiler adjusts the slightly different block declarations to target dzaima+reference BQN. This version also contains an earlier experiment targetting [WebAssembly](https://en.wikipedia.org/wiki/WebAssembly) that works only on a very small subset of BQN.
This version is not yet suitable for serious programming. The runtime checks for errors but the compiler does not, so syntax errors go unreported. It does not yet support function headers or multiple bodies. The Javascript-based compiler is also slow, taking about 0.05 seconds plus 1 second per kilobyte of source (this is purely due to the slow runtime, as dzaima+reference achieves 3ms/kB with the same compiler once warmed up).
diff --git a/src/cjs.bqn b/src/cjs.bqn
index 2b26f65d..f836ad9b 100755
--- a/src/cjs.bqn
+++ b/src/cjs.bqn
@@ -1,6 +1,6 @@
#! /usr/bin/env dbqn
-compile ← ⟨•path∾"../c.bqn"⋄"Compile"⟩ •EX •path∾"../dzref"
+compile ← ⟨•path∾"../dc.bqn"⋄"Compile"⟩ •EX •path∾"../dzref"
Comp ← ((<"runtime["∾⍕∾"]"˙)¨↕60)⊸Compile
FP ← ∞⊸=◶⟨⍕,"Infinity"⟩
Esc ← (⟨"\t","\n","\r","\'"⟩∾<∘⥊)⊑˜("'"∾˜@+9‿10‿13)⊑∘⊐⊢
diff --git a/test/cmpref.bqn b/test/cmpref.bqn
index aa71661d..23bccd17 100755
--- a/test/cmpref.bqn
+++ b/test/cmpref.bqn
@@ -4,7 +4,7 @@
impl ← •LNS •path∾"../src/r.bqn"
-drun ← ((<•path∾"../c.bqn")∾<"DRun") •EX •path∾"../dzref"
+drun ← ((<•path∾"../dc.bqn")∾<"DRun") •EX •path∾"../dzref"
chrs←⟨
"!+-×÷⋆√⌊⌈∧∨¬|=≠≤<>≥≡≢⊣⊢⥊∾≍↑↓↕⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔"