HyphaeVM - WIP

This commit is a WORK IN PROGRESS for the base implementation of the
HyphaeVM. This will be squashed into a larger commit eventually when
the work of implementing the HyphaeVM is finished.

Of note, the ISA is mostly finished and much of the VM design is in
place. Yet to be done are a few traps in mycelium, migrating pieces
like the number package and the sexpr package into the VM package,
and of course much testing.

Signed-off-by: Ava Affine <ava@sunnypup.io>
This commit is contained in:
Ava Apples Affine 2025-06-26 10:52:54 -07:00
parent 3a0a141738
commit 4ad319213d
17 changed files with 2073 additions and 17 deletions

View file

@ -16,6 +16,7 @@
*/
use core::fmt::Display;
use core::cell::RefCell;
use crate::lexer::{
LexError,
@ -414,11 +415,11 @@ impl Parser {
}
if is_bv {
return Ok(Rc::from(Datum::ByteVector(bv_stack)))
return Ok(Rc::from(Datum::ByteVector(RefCell::from(bv_stack))))
}
if token.token_type == LexTokenType::VectorStart {
return Ok(Rc::from(Datum::Vector(lex_stack)))
return Ok(Rc::from(Datum::Vector(RefCell::from(lex_stack))))
}
// handle an empty list