eyg/interpreter/value
Types
pub type Switch(context) {
Cons
Extend(String)
Overwrite(String)
Select(String)
Tag(String)
Match(String)
NoCases
Perform(String)
Handle(String)
Resume(context)
Builtin(String)
}
Constructors
-
Cons -
Extend(String) -
Overwrite(String) -
Select(String) -
Tag(String) -
Match(String) -
NoCases -
Perform(String) -
Handle(String) -
Resume(context) -
Builtin(String)
pub type Value(m, context) {
Binary(value: BitArray)
Integer(value: Int)
String(value: String)
LinkedList(elements: List(Value(m, context)))
Record(fields: dict.Dict(String, Value(m, context)))
Tagged(label: String, value: Value(m, context))
Closure(
param: String,
body: #(tree.Expression(m), m),
env: List(#(String, Value(m, context))),
)
Partial(Switch(context), List(Value(m, context)))
Promise(promise.Promise(Value(m, context)))
}
Constructors
-
Binary(value: BitArray) -
Integer(value: Int) -
String(value: String) -
LinkedList(elements: List(Value(m, context))) -
-
Tagged(label: String, value: Value(m, context)) -
Closure( param: String, body: #(tree.Expression(m), m), env: List(#(String, Value(m, context))), ) -
-
Promise(promise.Promise(Value(m, context)))
Values
pub fn option(
option: option.Option(a),
cast: fn(a) -> Value(m, context),
) -> Value(m, context)