- Fixed unsoundness in
util::update
(#41) - Moved
ascent_par!
and required dependencies behind Cargo featurepar
(enabled by default)
- 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).
-
Parallel evaluation: with introduction of
ascent_par!
andascent_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
, orfor
(they can be simple joins).
- 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.
- Introduced macro-in-macros!
- Bug fix
- Added run_timeout
- Disallowed shadowed variables