aarondb/engine/solver/recursive

Types

pub type ClauseSolver =
  fn(
    state.DbState,
    ast.BodyClause,
    dict.Dict(String, fact.Value),
    List(ast.Rule),
    option.Option(Int),
    option.Option(Int),
  ) -> #(
    List(dict.Dict(String, fact.Value)),
    option.Option(dict.Dict(String, List(internal.StorageChunk))),
  )

Values

pub fn nested_solve(
  solver: solver_context.SolverContext,
  clauses: List(ast.BodyClause),
  contexts: List(dict.Dict(String, fact.Value)),
  solve: fn(
    state.DbState,
    ast.BodyClause,
    dict.Dict(String, fact.Value),
    List(ast.Rule),
    option.Option(Int),
    option.Option(Int),
  ) -> #(
    List(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 fn solve_clauses(
  solver: solver_context.SolverContext,
  clauses: List(ast.BodyClause),
  contexts: List(dict.Dict(String, fact.Value)),
  initial_store: option.Option(
    dict.Dict(String, List(internal.StorageChunk)),
  ),
  solve: fn(
    state.DbState,
    ast.BodyClause,
    dict.Dict(String, fact.Value),
    List(ast.Rule),
    option.Option(Int),
    option.Option(Int),
  ) -> #(
    List(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))),
)
Search Document