Fixpoint3.Phase.Compiler
Definitions
def compile(d: Datalog, db: Map[RelSym, BPlusTree[Vector[Boxed], Boxed, Static]], strat: Map[PredSym, (Int32, Int32)], withProv: Bool): RamProgram
SourceCompile the given Datalog program d to RAM.
First insert all facts in d into the set of facts.
Second compile all rules in d according to the given stratification strat.
This means to compile all rules in stratum 0, then stratum 1 and so on.
A rule belongs to the same stratum as its head predicate.
def enumerateRules(d: Datalog): Vector[(Int32, Constraint)]
SourceCollect all rules in d and assign them a number, deterministically.
def functionalRelSym(arity: Int32): RelSym
SourceFunctional relations should be treated as Relational, but they do not posses any PredSym, indicated
by assigning them -1. functionalRelSym should only be placed in RowLoads. Only Lowering.flix uses
the RelSym part and does not use the PredSym.