All checks were successful
per-push tests / build (push) Successful in 55s
per-push tests / test-frontend (push) Successful in 58s
per-push tests / test-utility (push) Successful in 1m0s
per-push tests / test-backend (push) Successful in 1m1s
per-push tests / timed-decomposer-parse (push) Successful in 58s
Additionally: make release target binaries smaller and faster Signed-off-by: Ava Affine <ava@sunnypup.io>
35 lines
1.4 KiB
Markdown
35 lines
1.4 KiB
Markdown
# Mycelium
|
|
|
|
Mycelium aims to provide an efficient compiled to intermediate bytecode implementation
|
|
of R7RS Scheme as well as a virtual machine that will execute such bytecode.
|
|
|
|
Two major use cases are at the forefront of mind when designing and implementing this
|
|
project: a POSIX shell interpreter as well as a compiled to bytecode language for
|
|
running on ESP32 devices.
|
|
|
|
## Current Status
|
|
The lexer and parser are implemented. On an X86 machine equipped with 64GB RAM
|
|
and an AMD Ryzen 7900 CPU this lexer and parser are capable of creating a fully
|
|
validated abstract syntax tree from approximately 11200 lines of handwritten scheme
|
|
in about 55 milliseconds on average.
|
|
|
|
|
|
HyphaeVM is mostly implemented. The instruction set is defined and implemented,
|
|
including extensibility interfaces and the VM layout. Additionally, instruction
|
|
encoding and decoding are implemented. Garbage collection is implemented (via
|
|
reference counting). Currently being implemented are datum encoding/decoding and
|
|
full program encoding/decoding. Yet to be approached are debugging routines, CLI
|
|
utilities, and concurrency features. However, Documentation has been written on
|
|
programming with HyphaeVM.
|
|
|
|
|
|
The R7RS-Small Scheme to HyphaeVM compiler is not implemented.
|
|
|
|
|
|
R7RS-Large is not implemented.
|
|
|
|
|
|
The Linux/Mac/Windows runtime and extended compiler is not implemented.
|
|
|
|
|
|
Documentation is not implemented.
|