Struct ruschm::interpreter::Interpreter [−][src]
pub struct Interpreter<'a, R: RealNumberInternalTrait> { pub env: Rc<Environment<R>>, pub program_directory: Option<PathBuf>, // some fields omitted }
Fields
env: Rc<Environment<R>>
program_directory: Option<PathBuf>
Implementations
impl<'a, R: RealNumberInternalTrait> Interpreter<'a, R>
[src]
impl<'a, R: RealNumberInternalTrait> Interpreter<'a, R>
[src]pub fn new() -> Self
[src]
pub fn new_with_stdlib() -> Self
[src]
pub fn with_environment(environment: Rc<Environment<R>>) -> Self
[src]
pub fn import_stdlib(&mut self)
[src]
pub fn get_lib_loader(&self) -> &LibraryLoader<'_, R>
[src]
pub fn append_lib_loader(&mut self, lib_loader: LibraryLoader<'a, R>)
[src]
pub fn register_library_factory(
&mut self,
library_factory: LibraryFactory<'a, R>
)
[src]
&mut self,
library_factory: LibraryFactory<'a, R>
)
pub fn apply_procedure<'b>(
initial_procedure: &Procedure<R>,
args: ArgVec<R>,
env: &Rc<Environment<R>>
) -> Result<Value<R>, SchemeError>
[src]
initial_procedure: &Procedure<R>,
args: ArgVec<R>,
env: &Rc<Environment<R>>
) -> Result<Value<R>, SchemeError>
pub fn read_literal(
datum: &Datum,
env: &Rc<Environment<R>>
) -> Result<Value<R>, SchemeError>
[src]
datum: &Datum,
env: &Rc<Environment<R>>
) -> Result<Value<R>, SchemeError>
pub fn eval_expression(
expression: &Expression,
env: &Rc<Environment<R>>
) -> Result<Value<R>, SchemeError>
[src]
expression: &Expression,
env: &Rc<Environment<R>>
) -> Result<Value<R>, SchemeError>
pub fn eval_import(
&mut self,
imports: &ImportDeclaration,
env: Rc<Environment<R>>
) -> Result<(), SchemeError>
[src]
&mut self,
imports: &ImportDeclaration,
env: Rc<Environment<R>>
) -> Result<(), SchemeError>
pub fn get_library(
&mut self,
name: Located<LibraryName>
) -> Result<Library<R>, SchemeError>
[src]
&mut self,
name: Located<LibraryName>
) -> Result<Library<R>, SchemeError>
pub fn eval_import_set(
&mut self,
import: &ImportSet
) -> Result<Vec<(String, Value<R>)>, SchemeError>
[src]
&mut self,
import: &ImportSet
) -> Result<Vec<(String, Value<R>)>, SchemeError>
pub fn eval_expression_or_definition(
&mut self,
statement: &Statement,
env: Rc<Environment<R>>
) -> Result<Option<Value<R>>, SchemeError>
[src]
&mut self,
statement: &Statement,
env: Rc<Environment<R>>
) -> Result<Option<Value<R>>, SchemeError>
pub fn eval_ast(
&mut self,
ast: &Statement,
env: Rc<Environment<R>>
) -> Result<Option<Value<R>>, SchemeError>
[src]
&mut self,
ast: &Statement,
env: Rc<Environment<R>>
) -> Result<Option<Value<R>>, SchemeError>
pub fn eval_ast_error_no_location(
&mut self,
ast: &Statement,
env: Rc<Environment<R>>
) -> Result<Option<Value<R>>, SchemeError>
[src]
&mut self,
ast: &Statement,
env: Rc<Environment<R>>
) -> Result<Option<Value<R>>, SchemeError>
pub fn eval_root_ast(
&mut self,
ast: &Statement
) -> Result<Option<Value<R>>, SchemeError>
[src]
&mut self,
ast: &Statement
) -> Result<Option<Value<R>>, SchemeError>
pub fn eval_library_definition<'b>(
&mut self,
library_definition: &LibraryDefinition
) -> Result<Library<R>, SchemeError>
[src]
&mut self,
library_definition: &LibraryDefinition
) -> Result<Library<R>, SchemeError>
pub fn eval_program<'b>(
&mut self,
asts: impl IntoIterator<Item = &'b Statement>
) -> Result<Option<Value<R>>, SchemeError>
[src]
&mut self,
asts: impl IntoIterator<Item = &'b Statement>
) -> Result<Option<Value<R>>, SchemeError>
pub fn eval(
&mut self,
char_stream: impl Iterator<Item = char>
) -> Result<Option<Value<R>>, SchemeError>
[src]
&mut self,
char_stream: impl Iterator<Item = char>
) -> Result<Option<Value<R>>, SchemeError>
pub fn eval_file(
&mut self,
path: PathBuf
) -> Result<Option<Value<R>>, SchemeError>
[src]
&mut self,
path: PathBuf
) -> Result<Option<Value<R>>, SchemeError>
Auto Trait Implementations
impl<'a, R> !RefUnwindSafe for Interpreter<'a, R>
impl<'a, R> !RefUnwindSafe for Interpreter<'a, R>
impl<'a, R> !Send for Interpreter<'a, R>
impl<'a, R> !Send for Interpreter<'a, R>
impl<'a, R> !Sync for Interpreter<'a, R>
impl<'a, R> !Sync for Interpreter<'a, R>
impl<'a, R> Unpin for Interpreter<'a, R> where
R: Unpin,
impl<'a, R> Unpin for Interpreter<'a, R> where
R: Unpin,
impl<'a, R> !UnwindSafe for Interpreter<'a, R>
impl<'a, R> !UnwindSafe for Interpreter<'a, R>