Expand description
Ascent enables writing logic programs in the style of Datalog in Rust.
See the documentation for ascent
, one of the main macros of this crate, for more information.
Re-exports§
Modules§
- This module provides aggregators that can be used in Ascent rules.
- Provides definitions required for the
ascent
macro(s), plus traits that custom relations need to implement. - Defines the
Lattice
trait and provides implementations for standard types
Macros§
- The main macro of the ascent library. Allows writing logical inference rules similar to Datalog.
- Similar to
ascent
, allows writing logic programs in Rust. - Like
ascent
, except that the result of anascent_run
invocation is a value containing all the relations defined inside the macro body, and computed to a fixed point. - The parallelized version of
ascent_run
Structs§
- A wrapper type that swaps (
<=
and>=
) forPartialOrd
s, (meet
andjoin
) forLattice
s, and (top
andbottom
) forBoundedLattice
s.
Traits§
- A
Lattice
is aPartialOrd
where each pair of elements has a least upper bound (join
) and a greatest lower bound (meet
)