rust_multistackvm 0.38.0

Stack-based virtual machine on top of rust_multistack crate
Documentation
use crate::multistackvm::VM;
use easy_error::{Error, bail};

#[time_graph::instrument]
pub fn stdlib_clear_stacks(vm: &mut VM) -> Result<&mut VM, Error> {
    if vm.clear_stacks() {
        return Ok(vm);
    }
    bail!("Error in clear_stacks()")
}
#[time_graph::instrument]
pub fn stdlib_drop_stacks(vm: &mut VM) -> Result<&mut VM, Error> {
    let _ = vm.pop_stacks();
    Ok(vm)
}

pub fn init_stdlib(vm: &mut VM) {
    let _ = vm.register_inline("clear_stacks".to_string(), stdlib_clear_stacks);
    let _ = vm.register_inline("drop_stacks".to_string(), stdlib_drop_stacks);
}