Files
lysp/src/vm/prelude/mod.rs
T

32 lines
653 B
Rust

use std::rc::Rc;
use crate::vm::{env::Environment, machine::Machine};
mod collections;
mod convert;
mod debug;
mod eval;
mod functional;
mod io;
mod math;
pub(crate) use math::*;
const PRELUDE_SOURCE: &str = include_str!("../../prelude.lysp");
pub fn load(env: &Rc<Environment>) {
let mut vm = Machine::default();
math::load(env);
eval::load(env);
functional::load(env);
collections::load(env);
convert::load(env);
debug::load(env);
io::load(env);
// Load the lysp part of the prelude
vm.evaluate_str(Default::default(), None, env, PRELUDE_SOURCE)
.expect("Couldn't evaluate prelude lysp part");
}