haz-query 0.1.0

Query evaluator over haz task DAGs.
Documentation
//! Typed-atom transformation for `haz query` filter expressions.
//!
//! The parser in [`haz_query_lang`] produces an `Expr<RawAtom>`
//! whose atoms are still raw text. This module lifts atoms into
//! the typed representations the engine consumes:
//!
//! - `Expr<TagName>` for `--tags` (`QRY-003`).
//! - `Expr<ProjectName>` for `--projects` (`QRY-003`).
//! - `Expr<TaskName>` for `--tasks` (`QRY-003`).
//!
//! Each per-attribute parser is a pure `RawAtom -> Result<T,
//! AtomError>` function. Combine with
//! [`haz_query_lang::expr::Expr::try_map`] to lift a parsed
//! expression in one step.
//!
//! Path-pattern atoms (`--inputs` / `--outputs`) and relational
//! atoms (`--child-of`, `--parent-of`, `--depends-on`,
//! `--ancestor-of`) are handled by sibling modules.

pub mod atom;
pub(crate) mod glob_intersect;
pub mod identifier;
pub mod path;
pub mod relational;
pub mod shortcut;