aarondb/engine/executor

Types

pub type ClauseSolver =
  fn(
    ast.BodyClause,
    dict.Dict(String, fact.Value),
    option.Option(dict.Dict(String, List(internal.StorageChunk))),
  ) -> #(
    List(dict.Dict(String, fact.Value)),
    option.Option(dict.Dict(String, List(internal.StorageChunk))),
  )
pub type ExecutionResult {
  ExecutionResult(
    rows: List(dict.Dict(String, fact.Value)),
    store: option.Option(
      dict.Dict(String, List(internal.StorageChunk)),
    ),
  )
}

Constructors

Values

pub fn execute(
  clauses: List(ast.BodyClause),
  initial_contexts: List(dict.Dict(String, fact.Value)),
  initial_store: option.Option(
    dict.Dict(String, List(internal.StorageChunk)),
  ),
  solve: fn(
    ast.BodyClause,
    dict.Dict(String, fact.Value),
    option.Option(dict.Dict(String, List(internal.StorageChunk))),
  ) -> #(
    List(dict.Dict(String, fact.Value)),
    option.Option(dict.Dict(String, List(internal.StorageChunk))),
  ),
) -> ExecutionResult
pub fn merge_stores(
  s1: option.Option(
    dict.Dict(String, List(internal.StorageChunk)),
  ),
  s2: option.Option(
    dict.Dict(String, List(internal.StorageChunk)),
  ),
) -> option.Option(dict.Dict(String, List(internal.StorageChunk)))
Search Document