Skip to content

Latest commit

 

History

History
44 lines (27 loc) · 1.62 KB

CHANGELOG.MD

File metadata and controls

44 lines (27 loc) · 1.62 KB

0.8.0

  • Composition feature: added the ascent_source! macro and the include_source! syntax (thanks to @JoranHonig for the suggestion (#44) and @StarGazerM for the idea).

  • Made index fields in generated Ascent code private (#58).

  • Added | as the disjunction token in disjunction clauses, deprecating ||.

  • Added a small optimization where rule evaluation is skipped if any body relation is empty (#57)

0.7.0

  • Fixed unsoundness in util::update (#41)

  • Moved ascent_par! and required dependencies behind Cargo feature par (enabled by default)

0.6.0

  • BYODS (Bring Your Own Data Structures to Datalog): this version allows relations in Ascent programs to be backed by custom data structures (for improved algorithmic efficiency, modified semantics, etc.).

  • Introduction of the crate ascent-byods-rels, which contains a number of such data structures (for equivalence and transitive relations).

  • Introduction of impl directives with different bounds from struct declarations for generic parameters (#25)

0.5.0

  • Parallel evaluation: with introduction of ascent_par! and ascent_run_par! macros, Ascent programs can utilize multiple CPU cores to speed up evaluation.

  • Made improvements to handling of rules that start with if, let, or for (they can be simple joins).

0.4.0

  • Reduced the size of generated code for a rule with N dynamic relations from O(N * 2^N) to O(N^2); dramatically improving compile times for some programs.

0.3.0

  • Introduced macro-in-macros!

0.2.1

  • Bug fix

0.2.0

  • Added run_timeout
  • Disallowed shadowed variables