pub type Rule = GenericRule<String, String>;Aliased Type§
pub struct Rule {
pub span: Span,
pub head: GenericActions<String, String>,
pub body: Vec<GenericFact<String, String>>,
pub name: String,
pub ruleset: String,
pub naive: bool,
pub no_decomp: bool,
}Fields§
§span: Span§head: GenericActions<String, String>§body: Vec<GenericFact<String, String>>§name: StringA globally unique name for this rule in the EGraph.
ruleset: StringThe ruleset this rule belongs to. Defaults to "".
naive: boolIf true, this rule disables seminaive evaluation. The body is
matched against the entire database every iteration and the
query/action are compiled with the global (read+write) primitive
contexts, allowing primitives that read or write the database
inside queries and actions. Set via the :naive rule option.
no_decomp: boolIf true, this rule skips tree-decomposition during query
planning and evaluate rules as a single-bag (without decomposing
it into smaller queries). Set via the :no-decomp rule option.