Skip to content

Latest commit

 

History

History
46 lines (38 loc) · 1.67 KB

File metadata and controls

46 lines (38 loc) · 1.67 KB

Project Roadmap

This document lists the completed and planned features for Zodd.

Important

This roadmap is a work in progress and is subject to change.

Core Features

  • Relation - sorted, deduplicated tuple collections
  • Variable - incremental update lifecycle
  • Iteration - fixed-point computation context
  • gallop - exponential and binary search for filtering
  • joinHelper - merge-join on key-value tuples
  • joinInto - high-level join between variables
  • Leaper - Treefrog Leapjoin interface
  • ExtendWith - propose values from a relation
  • FilterAnti - negation (filter out matching tuples)
  • ExtendAnti - anti-join (filter to keep non-matching values)

Other Features

  • Negation primitives (anti-join and anti-extend)
  • Aggregations
  • Recursion limits
  • Persistence
  • Secondary indices
  • Incremental maintenance support
  • Parallel execution support
  • CLI (zodd run, query with demand-driven evaluation, plan, explain, and a repl)
  • Streaming input
  • Rule DSL (textual Datalog frontend with a parser, a builder API, stratified negation, and aggregates)
  • Comparison operators (<, <=, >, >=, =, and != as body filters)
  • Arithmetic in comparison filters (+, -, *, /, and parentheses on either side of a comparison)
  • Arithmetic assignments support
  • Query planner
  • Explain support
  • Magic sets support
  • Fact retraction support

Development and Testing

  • Unit tests in each module
  • Integration, regression, property-based tests, etc. in tests directory
  • Differential testing against Clingo
  • Benchmarks