asdi 0.2.5

Another Simplistic Datalog Implementation (in Rust)
Documentation
@startuml

!include ../model/options.plantuml

interface asdi::Collection #white
hide "asdi::Collection" members

class asdi::Program #white
hide "asdi::Program" members

class asdi::edb::RelationSet #white
hide "asdi::edb::RelationSet" members

namespace asdi::idb::eval {
    interface Evaluator {
        inference(program: Program) : Result<RelationSet>
        label() -> &str
    }

    class StratifiedEvaluator #lightgray
    class StratifiedProgram {
        from(program: &Program) : Result<Self>
    }

    StratifiedProgram ..|> "<SubProgram>" asdi::Collection
    StratifiedProgram .up.> PrecedenceGraph

    StratifiedEvaluator ..|> Evaluator

    Evaluator ..> asdi::Program
    Evaluator ..> asdi::edb::RelationSet


    StratifiedEvaluator .down.> StratifiedProgram
}

@enduml