quantor 0.1.0

Declarative quantifiers for filtering, validation, and testing in Rust.
Documentation

quantor

Crates.io Docs.rs License Downloads MSRV

Declarative quantifiers and logical assertions for Rust iterators and collections.
quantor provides lightweight, expressive tools for validation, filtering, and testing โ€” with zero dependencies.


โœจ Features

quantor lets you express logic over data in a way that feels natural and readable:

  • ๐Ÿ“ Quantifiers โ€” Use familiar constructs like forall, exists, none, and exactly_one.
  • ๐Ÿงน Selection utilities โ€” Filter with select_where, extract duplicates, check for uniqueness.
  • ๐Ÿง  Structured logic โ€” Run pairwise comparisons or validate equality across items.
  • ๐Ÿงช Assertions โ€” Add runtime guarantees with assert_forall!, assert_exists!, etc.

Example

use quantor::{forall, select_where, assert_forall};

let nums = vec![2, 4, 6];

// Check if all elements are even
assert!(forall(&nums, |x| x % 2 == 0));

// Use the macro version for test-friendly assertions
assert_forall!(&nums, |x| x % 2 == 0);

// Extract matching elements
let evens = select_where(&nums, |x| x % 2 == 0);
assert_eq!(evens, vec![&2, &4, &6]);

๐Ÿ“ฆ Installation

Add this to your Cargo.toml:

quantor = "0.1"

Optional features:

  • method-api โ€“ Enable .forall() and other iterator-style methods.
  • debug-tools โ€“ Add debugging macros like debug_assert_forall! or debug_exists!.

๐Ÿ“š Documentation

See docs.rs for full API documentation and examples.