hamelin_translation 0.6.12

Lowering and IR for Hamelin query language
Documentation
//! Hamelin Translation Crate
//!
//! This crate provides lowering from Hamelin's type-checked AST to a lowered
//! intermediate representation (IR) suitable for backend translation.
//!
//! The IR enforces constraints that make backend translation simpler:
//! - No assignment to compound identifiers (all assignments use `SimpleIdentifier`)
//! - No `Range` type or range operators
//! - No high-level commands that can be expressed in terms of simpler ones

mod ir;
mod lower;
mod normalize;
mod unique;
pub mod window_frame;

// Re-export IR types
pub use ir::{
    IRAggCommand, IRAssignment, IRCommand, IRCommandKind, IRExplodeCommand, IRExpression,
    IRFromCommand, IRInput, IRJoinCommand, IRLimitCommand, IRPipeline, IRSelectCommand,
    IRSideEffect, IRSortCommand, IRSortExpression, IRStatement, IRWhereCommand, IRWindowCommand,
    IRWithClause, JoinType,
};

// Re-export window frame types
pub use window_frame::{RangeBound, RowBound, WindowFrame};

// Re-export lowering entry points
pub use lower::{lower, normalize_with, NormalizationOptions};