pub trait Callbacks {
// Required methods
fn import(
&mut self,
program: &mut Program,
from: SpanId,
path: &str
) -> Result<Thunk, ImportError>;
fn import_str(
&mut self,
program: &mut Program,
from: SpanId,
path: &str
) -> Result<String, ImportError>;
fn import_bin(
&mut self,
program: &mut Program,
from: SpanId,
path: &str
) -> Result<Vec<u8>, ImportError>;
fn trace(
&mut self,
program: &mut Program,
message: &str,
stack: &[EvalStackTraceItem]
);
fn native_call(
&mut self,
program: &mut Program,
name: &InternedStr,
args: &[Value]
) -> Result<Value, NativeError>;
}