A functional reimplementation of the LLVMJS as described within the YouTube series 16-Bit Virtual Machine by Low Level JavaScript.
It should be obvious but first and foremost this is a hobby project for fun. The original implementation is likely orders of magnitude more efficient that this one.
I chose to build functional implementation mainly because it will be easy to implement time travel functionality.