Mars/src/core.rs

18 lines
No EOL
620 B
Rust

use crate::vm::{Machine, ForeignFunction, Needle, RunError};
pub(crate) fn load<S>(machine: &mut Machine<S>) -> Result<(),RunError> {
machine.set_global_function("print",|machine: &mut Machine<S>, mut needle: Needle| {
while let Some(value) = needle.pop() {
print!("{} ", machine.meta_to_string(needle.dispatch, value)?.unwrap_str())
}
println!();
Ok(())
})?;
machine.set_global_function("debug",|_machine: &mut Machine<S>, mut needle: Needle| {
while let Some(value) = needle.pop() {
print!("{:?} ", value)
}
println!();
Ok(())
})?;
Ok(())
}