devnagari 0.1.0

Code in Devanagari (Hindi/Sanskrit) — type aliases, macros, and keyword translation for Rust
Documentation
/// Sanskrit vocabulary layer.
///
/// Classical Sanskrit terms for types, numbers, and language constructs.
/// Words are drawn from Paninian grammar, Vedic tradition, and classical usage.
/// All are valid Rust identifiers — Devanagari Unicode is fully supported.

// ── Sanskrit type aliases ─────────────────────────────────────────────────────

/// `i32` — अङ्क = digit / number (Paninian grammar term for numeral)
pub type अङ्क = i32;

/// `i64` — महाङ्क = great number
pub type महाङ्क = i64;

/// `f64` — राशि = quantity / mathematical term
pub type राशि = f64;

/// `f32` — लघुराशि = small quantity
pub type लघुराशि = f32;

/// `char` — वर्ण = letter / phoneme (core Paninian grammar concept)
pub type वर्ण = char;

/// `String` — सूत्र = thread / formula / aphorism
pub type सूत्र = String;

/// `bool` — सत्यासत्य = true-or-false (Sanskrit dvandva compound)
pub type सत्यासत्य = bool;

/// `Vec<T>` — श्रेणी = series / row / sequence
pub type श्रेणी<T> = Vec<T>;

/// `Option<T>` — सम्भव = possible / potential
pub type सम्भव<T> = Option<T>;

/// `Result<T, E>` — परिणाम = outcome / result
pub type परिणा<T, E> = Result<T, E>;

/// `HashMap<K, V>` — निघण्टु = glossary / lexicon (Vedic term for vocabulary list)
pub type निघण्टु<K, V> = std::collections::HashMap<K, V>;

/// `BTreeMap<K, V>` — अनुक्रम = ordered sequence
pub type अनुक्रम<K, V> = std::collections::BTreeMap<K, V>;

/// `HashSet<T>` — वर्गः = class / group / set
pub type वर्गः<T> = std::collections::HashSet<T>;

/// `Box<T>` — पिटक = basket / container (Pali/Sanskrit term, also Tipitaka)
pub type पिटक<T> = Box<T>;

/// `Arc<T>` — संयोग = union / conjunction
pub type संयो<T> = std::sync::Arc<T>;

/// `usize` — परिमाण = measure / quantity (Sanskrit; avoids conflict with `let` keyword alias)
pub type परिमाण = usize;

// ── Sanskrit number constants (i32) ──────────────────────────────────────────
// Sanskrit cardinal numbers 0–19, then round numbers.
// Type is i32 (पूर्णांक). Cast with `as` for other types.

/// 0 — नल (null / zero; Sanskrit mathematical term)
pub const नल: i32 = 0;
/// 1 — एक
pub const एक: i32 = 1;
/// 2 — द्वि
pub const द्वि: i32 = 2;
/// 3 — त्रि
pub const त्रि: i32 = 3;
/// 4 — चतुर
pub const चतुर: i32 = 4;
/// 5 — पञ्च
pub const पञ्च: i32 = 5;
/// 6 — षट
pub const षट: i32 = 6;
/// 7 — सप्त
pub const सप्त: i32 = 7;
/// 8 — अष्ट
pub const अष्ट: i32 = 8;
/// 9 — नव
pub const नव: i32 = 9;
/// 10 — दश
pub const दश: i32 = 10;
/// 11 — एकादश
pub const एकादश: i32 = 11;
/// 12 — द्वादश
pub const द्वादश: i32 = 12;
/// 15 — पञ्चदश
pub const पञ्चदश: i32 = 15;
/// 20 — विंशति
pub const विंशति: i32 = 20;
/// 25 — पञ्चविंशति
pub const पञ्चविंशति: i32 = 25;
/// 50 — पञ्चाशत्
pub const पञ्चाशत्: i32 = 50;
/// 100 — शत
pub const शत: i32 = 100;
/// 1000 — सहस्र
pub const सहस्र: i32 = 1_000;
/// 100,000 — लक्ष (lakh)
pub const लक्ष: i32 = 100_000;
/// 10,000,000 — कोटि (crore)
pub const कोटि: i32 = 10_000_000;

// ── Sanskrit number constants (usize) ────────────────────────────────────────
// Suffixed with _आ for usize variants (common in indexing / sizes)

/// 0usize
pub const नल_आ: usize = 0;
/// 1usize
pub const एक_आ: usize = 1;
/// 2usize
pub const द्वि_आ: usize = 2;
/// 3usize
pub const त्रि_आ: usize = 3;
/// 10usize
pub const दश_आ: usize = 10;
/// 100usize
pub const शत_आ: usize = 100;
/// 1000usize
pub const सहस्र_आ: usize = 1_000;

// ── Sanskrit Option / Result variants ────────────────────────────────────────

/// `Option::Some` — विद्यमान = existing / present
pub use Option::Some as विद्यमान;
/// `Option::None` — अविद्यमान = non-existing / absent
pub use Option::None as अविद्यमान;

/// `Result::Ok` — सिद्ध = accomplished / proven
pub use Result::Ok as सिद्ध;
/// `Result::Err` — दोष = fault / defect
pub use Result::Err as दोष;