aboutsummaryrefslogtreecommitdiff
path: root/implementation
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-11-29 18:14:12 -0500
committerMarshall Lochbaum <mwlochbaum@gmail.com>2021-11-29 18:14:12 -0500
commite9f2be4df1a61fb74d5aae0238f08a92379830c6 (patch)
treeb80558242603d6b1edb5cd6672763df03bf1c684 /implementation
parente9ba2b94c715a1535fd5ddb9b847b9d1a3d275a7 (diff)
Link to Asher's cxbqn VM video
Diffstat (limited to 'implementation')
-rw-r--r--implementation/vm.md4
1 files changed, 3 insertions, 1 deletions
diff --git a/implementation/vm.md b/implementation/vm.md
index c6bdd8fe..7433de97 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. The [Javascript environment](../docs/bqn.js) requires about 500 lines of Javascript code including system functions and performance improvements; probably around 250 would be required just to run the core language. 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.
+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. The [Javascript environment](../docs/bqn.js) requires about 600 lines of Javascript code including system functions and performance improvements; probably around 250 would be required just to run the core language. 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.
+
+There's a short [video introduction](https://www.youtube.com/watch?v=FxU5tZZ1gNc) to the VM architecture thanks to Asher Mancinelli.
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.