Releases: KvGeijer/zote
Zote-0.2
This version of Zote compiles code into byte-code which it interprets using a virtual machine implementation. It contains almost all planned features, only lacking ones such as list comprehension which are not yet decided how they will be designed. It is released now as it has successfully solved all Advent of Code days from 2022.
There are two attached binaries, both compiled for x86 Linux
-
zote-v0.2-x86-64-linux.bin is the recommended virtual machine implementation. It is usually faster, but has fewer builtins, instead relying on a standard library which can be included with "include!("stdlin");".
-
ast-zote-v0.2-x86-64-linux.bin is the more naive interpreter directly traversing the abstract syntax tree. It is usually slower than the vm. However, it does have a working cli REPL which preserves variables between lines (which the vm does not have yet).
The largest issue now is the speed of the vm, as it is still very slow. It seems to usually be a couple times faster than the ast implementation, but also a couple of times slower than Python. However, in some cases, it is slower than the ast interpreter. So, the next release will include better benchmarking, and hopefully some optimizations.