Installation

Requirements

  • Nightly Rust (for GAT-based HKT encoding)
  • Rust 2024 edition
rustup default nightly

Adding Karpal to Your Project

Full Prelude

[dependencies]
karpal-std = "0.7"
#![allow(unused)]
fn main() {
use karpal_std::prelude::*;
}

Individual Crates

[dependencies]
karpal-core = "0.7"      # HKT, Functor hierarchy, Semigroup, Monoid
karpal-optics = "0.7"     # Lens, Prism, Traversal, Fold
karpal-proof = "0.7"      # Proven<P,T>, Rewrite witnesses
karpal-verify = "0.7"     # SMT-LIB2, Lean 4, Kani verification
karpal-diagram = "0.7"    # Monoidal categories, string diagrams
karpal-higher = "0.7"     # 2-categories, enriched categories
karpal-schubert-types = "0.7"  # Schubert intersection types

no_std Support

Most crates are no_std compatible with optional std/alloc feature gates:

[dependencies]
karpal-core = { version = "0.7", default-features = false, features = ["alloc"] }