diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-04-14 19:09:58 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-04-14 19:09:58 -0400 |
| commit | e69b9bcf77a934294065e3a73ffd3e6b90e4c881 (patch) | |
| tree | 1611637c19252cad0a0aa65f1588947536d61009 /running.md | |
| parent | 12719748b63c5c6eb073b8117d49fb1107ee59cb (diff) | |
Links to CBQN and ebqn
Diffstat (limited to 'running.md')
| -rw-r--r-- | running.md | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -12,6 +12,8 @@ The version of BQN in this repository is implemented mainly in BQN itself—the Because self-hosted BQN requires only a simple virtual machine to run, it is [fairly easy](implementation/vm.md) to embed it in another programming language by implementing this virtual machine. The way data is represented is part of the VM implementation: it can use native arrays or a custom data structure, depending on what the language supports. An initial implementation will be very slow, but can be improved by replacing functions from the BQN-based runtime with native code. As the VM system can be hard to work with if you're not familiar with it, I advise you to contact me to discuss this option it you are interested. +In progress VMs are [CBQN](https://github.com/dzaima/CBQN) in C, and [ebqn](https://github.com/cannadayr/ebqn) in Erlang. Although both of these work (can compile and run code; only missing some fill support in CBQN), neither is considered useful for any purpose yet. CBQN is likely to become the main high-performance BQN implementation but is currently only a few times faster than Javascript and has an interface that's only useful for testing. ebqn is extremely slow—hours to compile. + ### dzaima/BQN [dzaima/BQN](https://github.com/dzaima/BQN/) 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: major missing functionality is dyadic Depth (`⚇`), Windows (`↕`), and many cases of set functions (`⊐⊒∊⍷`, mostly with rank >1). |
