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
-
ExecutionResult( rows: List(dict.Dict(String, fact.Value)), store: option.Option( dict.Dict(String, List(internal.StorageChunk)), ), )
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)))