From 1ac78a69e09fb73cbcadc1dd16b94c78e75dc9c8 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Thu, 15 Apr 2021 20:51:25 -0400 Subject: File functions when running in Node.js --- docs/running.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/running.html') diff --git a/docs/running.html b/docs/running.html index a7b7c2e4..cd3eac79 100644 --- a/docs/running.html +++ b/docs/running.html @@ -5,7 +5,7 @@

How to run BQN

-

There are currently two active BQN implementations: the self-hosted one in this repository, and the independent dzaima/BQN. Neither is entirely complete but they are quite capable for pure programming tasks (say, implementing a compiler). For scripting, only dzaima/BQN has the required I/O such as file functions. I tend to develop parts of applications in the online REPL and move to dzaima/BQN scripts in order to run them.

+

There are currently two active BQN implementations: the self-hosted one in this repository, and the independent dzaima/BQN. Neither is entirely complete but they are quite capable for pure programming tasks (say, implementing a compiler). dzaima/BQN has good performance while self-hosted is about a thousand times slower. I tend to develop parts of applications in the online REPL and move to dzaima/BQN scripts in order to run them.

BQN

The online REPL is here. The file docs/bqn.js is zero-dependency Javascript, and can be loaded from HTML or Node.js. It can also be called directly from the command line (using Node): pass a file and •args or -e to execute all remaining arguments directly and print the results. This notebook shows how to run it in an Observable notebook.

The version of BQN in this repository is implemented mainly in BQN itself—the compiler is entirely self-hosted, while the runtime is built from a small number of starting functions using preprocessed BQN. It completely supports the core language except for block headers and multiple body syntax, and a few cases of structural Under (). 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 1ms/kB with the same compiler once warmed up).

-- cgit v1.2.3