Skip to main content

polydat_grammar/comprehension/
mod.rs

1// Copyright 2024-2026 Jonathan Shook
2// SPDX-License-Identifier: Apache-2.0
3
4//! The comprehension sub-language: its text form ([`parse`]), the
5//! flat form that text parses to ([`ast_legacy`]), the canonical
6//! algebra ([`ast`]) with its sources, strategies, cardinalities, and
7//! metadata, and the spec forms that convert between them ([`spec`]).
8//! Evaluation is the runtime's.
9
10pub mod ast;
11pub mod ast_legacy;
12pub mod cardinality;
13pub mod metadata;
14pub mod parse;
15pub mod source;
16pub mod spec;
17pub mod strategy;
18
19pub use ast::Comprehension;
20pub use cardinality::{CardinalityClass, Hybrid, Interval, MeasureName, ProductMeasure};
21pub use metadata::{IndexFn, Materialization, Metadata, NaturalOrder};
22pub use source::Source;
23pub use strategy::{StrategyName, ZipMode};