pub struct Interpreter {
pub env: Env,
/* private fields */
}Fields§
§env: EnvImplementations§
Source§impl Interpreter
impl Interpreter
pub fn callable_declared_effects(fn_val: &Value) -> Vec<String>
pub fn call_value_pub( &mut self, fn_val: Value, args: Vec<Value>, ) -> Result<Value, RuntimeError>
pub fn call_value_with_effects_pub( &mut self, fn_val: Value, args: Vec<Value>, entry_name: &str, allowed_effects: Vec<String>, ) -> Result<Value, RuntimeError>
Source§impl Interpreter
impl Interpreter
pub fn new() -> Self
pub fn execution_mode(&self) -> ExecutionMode
pub fn set_execution_mode_normal(&mut self)
pub fn start_recording(&mut self)
pub fn start_replay(&mut self, effects: Vec<EffectRecord>, validate_args: bool)
pub fn take_recorded_effects(&mut self) -> Vec<EffectRecord>
pub fn replay_progress(&self) -> (usize, usize)
pub fn ensure_replay_consumed(&self) -> Result<(), RuntimeError>
pub fn configure_recording_sink( &mut self, path: PathBuf, request_id: String, timestamp: String, program_file: String, module_root: String, entry_fn: String, input: JsonValue, )
pub fn recording_sink_path(&self) -> Option<PathBuf>
pub fn persist_recording_snapshot( &self, output: RecordedOutcome, ) -> Result<(), RuntimeError>
Sourcepub fn enable_memo(&mut self, fns: HashSet<String>)
pub fn enable_memo(&mut self, fns: HashSet<String>)
Mark a set of function names as eligible for auto-memoization.
Sourcepub fn register_effect_set(&mut self, name: String, effects: Vec<String>)
pub fn register_effect_set(&mut self, name: String, effects: Vec<String>)
Register a named effect set alias.
pub fn lookup(&self, name: &str) -> Result<Value, RuntimeError>
pub fn define(&mut self, name: String, val: Value)
pub fn define_module_path( &mut self, path: &str, val: Value, ) -> Result<(), RuntimeError>
pub fn load_module( &mut self, name: &str, base_dir: &str, loading: &mut Vec<String>, loading_set: &mut HashSet<String>, ) -> Result<Value, RuntimeError>
Source§impl Interpreter
impl Interpreter
Source§impl Interpreter
impl Interpreter
pub fn exec_items(&mut self, items: &[TopLevel]) -> Result<Value, RuntimeError>
Sourcepub fn register_type_def(&mut self, td: &TypeDef)
pub fn register_type_def(&mut self, td: &TypeDef)
Register a user-defined type: sum type variants and record constructors.
pub fn exec_fn_def(&mut self, fd: &FnDef) -> Result<(), RuntimeError>
pub fn exec_stmt(&mut self, stmt: &Stmt) -> Result<Value, RuntimeError>
pub fn exec_body(&mut self, stmts: &[Stmt]) -> Result<Value, RuntimeError>
pub fn run_file(&mut self, source: &str) -> Result<Value, RuntimeError>
Auto Trait Implementations§
impl Freeze for Interpreter
impl RefUnwindSafe for Interpreter
impl !Send for Interpreter
impl !Sync for Interpreter
impl Unpin for Interpreter
impl UnsafeUnpin for Interpreter
impl UnwindSafe for Interpreter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more