aboutsummaryrefslogtreecommitdiff
path: root/implementation/vm.md
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-05-03 15:50:17 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2021-05-03 15:50:17 -0400
commit6fb49337bbb579c9247cf4788fef1bb56af066aa (patch)
tree2e6aa180964961e79e8b869cc42605ab891cf1ac /implementation/vm.md
parent3edb22d4a91a4246f9668c2c2fe75ec1b6b37aab (diff)
Clean up description of self-hosted BQN instances
Diffstat (limited to 'implementation/vm.md')
-rw-r--r--implementation/vm.md4
1 files changed, 3 insertions, 1 deletions
diff --git a/implementation/vm.md b/implementation/vm.md
index c9d089d9..0211bd1d 100644
--- a/implementation/vm.md
+++ b/implementation/vm.md
@@ -2,7 +2,9 @@
# The BQN virtual machine and runtime
-BQN's self-hosted compiler and runtime mean that only a small amount of native code is needed to run BQN on any given platform. For example, the [Javascript environment](../docs/bqn.js) requires about 300 lines of Javascript code even though it compiles BQN bytecode to Javascript, a more complex strategy than interpreting it directly. This makes it fairly easy to port BQN to new platforms, allowing BQN to run "natively" within other programming languages and interact with arrays in those languages.
+BQN's self-hosted compiler and runtime mean that only a small amount of native code is needed to run BQN on any given platform. For example, the [Javascript environment](../docs/bqn.js) requires about 300 lines of Javascript code even though it compiles BQN bytecode to Javascript, a more complex strategy than interpreting it directly. This makes it fairly easy to port BQN to new platforms, allowing BQN to be [embedded](../doc/embed.md) within other programming languages and interact with arrays or functions in those languages.
+
+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 implementing a VM if you are interested.
## Bytecode