Crate mycroft_support

Source
Expand description

mycroft-support is a crate with code intended to be used for the runtime of programs containing mycroft generated code. If you’re not developing mycroft, you probably don’t want these docs. mycroft contains the compiler, mycroft-macros contains the plugin to run the compiler during rust compilation, this crate just contains functions and structures used by the generated code.

If you are developing mycroft, or just don’t care about an interface not made for you, welcome, this crate essentially implements the datalog backend. This includes database-like functionality and eventually rule execution management.

Modules§

aggregator
Defines types and utility wrappers for merging multiple pieces of data together
derivation
derivation handles operations related to walking the provenance graph
index
index provides ways to index data contained in the structures from storage. At the moment, there’s only HashIndex here, but eventually it should include an MVCC tree.
join
join implements a simple indexed join with the assumption of a global attribute order. This is likely not the optimal join, but it will get us started.
storage
storage provides utilities for keeping storing and retrieving data, notably Data and Tuples Both are in-memory stores at the moment, but this module is where future disk stores will live as well.