oboard/moonbit-eval/interpreter does not have a README file
pub(all) struct ClosureInterpreter {
extern_fns : Map[String, (RuntimeFunctionContext) -> RuntimeValue]
embedded_fns : Map[String, (RuntimeFunctionContext) -> RuntimeValue]
embedded_methods : Map[String, Map[String, (RuntimeFunctionContext) -> RuntimeValue]]
env : RuntimeEnvironment
state : InterpreterState
modules : Map[String, RuntimeModule]
}fn ClosureInterpreter::add_embedded_fn(self : ClosureInterpreter, name : String, f : (RuntimeFunctionContext) -> RuntimeValue) -> Unitfn ClosureInterpreter::add_embedded_method(self : ClosureInterpreter, type_name : String, method_name : String, f : (RuntimeFunctionContext) -> RuntimeValue) -> Unitfn ClosureInterpreter::add_extern_fn(self : ClosureInterpreter, name : String, f : (RuntimeFunctionContext) -> RuntimeValue) -> Unitfn ClosureInterpreter::bind_function_parameters(self : ClosureInterpreter, params : List[Parameter], args : List[Argument]) -> Unitfn ClosureInterpreter::bind_function_parameters_runtime(self : ClosureInterpreter, params : List[Parameter], args : List[Argument]) -> Unitfn ClosureInterpreter::call(self : ClosureInterpreter, function : Func, args : List[Argument]) -> RuntimeValuefn ClosureInterpreter::call_closure(self : ClosureInterpreter, function : Func, env : RuntimeEnvironment, args : List[Argument]) -> RuntimeValuefn ClosureInterpreter::constants_equal(_self : ClosureInterpreter, c1 : Constant, c2 : Constant) -> Boolfn ClosureInterpreter::constants_equal_expr(self : ClosureInterpreter, expr1 : Expr, expr2 : Expr) -> Boolfn ClosureInterpreter::execute_function_call(self : ClosureInterpreter, function : Func, args : List[Argument]) -> Exprfn ClosureInterpreter::execute_match(self : ClosureInterpreter, value : Expr, cases : List[Case]) -> Exprfn ClosureInterpreter::execute_match_runtime(self : ClosureInterpreter, value : RuntimeValue, cases : List[Case]) -> RuntimeValuefn ClosureInterpreter::get_function_type_string(self : ClosureInterpreter, value : RuntimeValue) -> Stringfn ClosureInterpreter::pattern_matches(self : ClosureInterpreter, value : Expr, pattern : Pattern) -> Boolfn ClosureInterpreter::value_in_range(self : ClosureInterpreter, value : Expr, lhs : Pattern, rhs : Pattern, inclusive : Bool) -> Boolimpl Show for ModuleMetaimpl ToJson for ModuleMetaimpl FromJson for ModuleMetafn ModuleMeta::new(name : String, version? : String, readme? : String, repository? : String, license? : String, keywords? : Array[String], description? : String, source? : String, deps? : Map[String, String]) -> ModuleMetapub(all) struct RuntimeEnvironment {
traits : Map[String, TraitDecl]
fn_aliases : Map[String, String]
type_definitions : Map[String, TypeDecl]
struct_methods : Map[String, Map[String, Func]]
type_environment : TypeEnvironment
values : Map[String, RuntimeValue]
mutable_vars : Map[String, Bool]
parent : RuntimeEnvironment?
deps : Map[String, RuntimeModule]
}impl ToJson for RuntimeEnvironmentfn RuntimeEnvironment::define_struct_method(self : RuntimeEnvironment, type_name : String, method_name : String, func : Func) -> Unitfn RuntimeEnvironment::new(parent? : RuntimeEnvironment, values? : Map[String, RuntimeValue]) -> RuntimeEnvironmentfn RuntimeEnvironment::set_mutable_variable(self : RuntimeEnvironment, name : String, value : RuntimeValue) -> Unitfn RuntimeEnvironment::top_func_def_to_closure(self : RuntimeEnvironment, func : Impl) -> RuntimeValuefn RuntimeEnvironment::update(self : RuntimeEnvironment, name : String, new_value : RuntimeValue) -> Unitfn[T] RuntimeEnvironment::with_ident(self : RuntimeEnvironment, long_ident : LongIdent, func : (RuntimeEnvironment, String) -> T) -> Tpub(all) struct RuntimeFunctionContext {
context : ClosureInterpreter
arguments : Array[RuntimeArgument]
}impl ToJson for RuntimeModulefn RuntimeModule::new(pkg : String, builder : (RuntimeEnvironment, (String) -> RuntimeValue) -> Map[String, RuntimeValue]) -> RuntimeModulepub(all) enum RuntimeValue {
Unit
Bool(Bool)
Int(Int)
UInt(UInt)
Int64(Int64)
UInt64(UInt64)
Float(Float)
Double(Double)
BigInt(BigInt)
Char(Char)
Byte(Byte)
String(String)
Tuple(Array[RuntimeValue])
Array(Array[RuntimeValue])
Map(Map[RuntimeValue, RuntimeValue])
Struct(Ref[Map[String, RuntimeValue]])
Closure(Func, RuntimeEnvironment)
Constructor(String, Array[RuntimeValue])
Break(RuntimeValue?)
Continue(Array[RuntimeValue])
Return(RuntimeValue)
Exception(String)
TraitObject(RuntimeValue, String)
}impl Add for RuntimeValueimpl Eq for RuntimeValueimpl Hash for RuntimeValueimpl Show for RuntimeValueimpl ToJson for RuntimeValue