Crate mycroft_support [] [src]

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.