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)))
  • 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)))

Values

pub fn bool(in: Bool) -> Value(m, context)
pub fn error(reason: Value(m, context)) -> Value(m, context)
pub fn false() -> Value(m, context)
pub fn none() -> Value(m, context)
pub fn ok(value: Value(m, context)) -> Value(m, context)
pub fn option(
  option: option.Option(a),
  cast: fn(a) -> Value(m, context),
) -> Value(m, context)
pub fn some(value: Value(m, context)) -> Value(m, context)
pub fn true() -> Value(m, context)
pub fn unit() -> Value(m, context)
Search Document