chore: cleanup
This commit is contained in:
29
src/engine/mod.rs
Normal file
29
src/engine/mod.rs
Normal file
@@ -0,0 +1,29 @@
|
||||
use hashbrown::HashSet;
|
||||
|
||||
use crate::eval::Evaluate;
|
||||
use crate::ir::{Downgraded, Ir};
|
||||
use crate::ty::public::Value;
|
||||
use crate::error::Result;
|
||||
|
||||
#[cfg(test)]
|
||||
mod test;
|
||||
|
||||
pub struct Engine {
|
||||
|
||||
}
|
||||
|
||||
pub fn eval(downgraded: Downgraded) -> Result<Value> {
|
||||
let mut engine = Engine::new();
|
||||
engine.eval(downgraded.top_level)
|
||||
}
|
||||
|
||||
impl Engine {
|
||||
pub fn new() -> Self {
|
||||
Self {}
|
||||
}
|
||||
|
||||
pub fn eval(&mut self, expr: Ir) -> Result<Value> {
|
||||
expr.eval(self).map(|val| val.to_public(self, &mut HashSet::new()))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user