?? Èw?` - Taboos & Assertions

Runtime constraints inspired by Yoruba spiritual prohibitions

What is Èw?`?

Èw?` (Yoruba: "taboo/prohibition") defines runtime constraints that must be satisfied. If an èw?` is violated, the program panics with a clear error message. Think of them as spiritual guardrails for your code.

?? Taboo Violations = Program Panic

Unlike soft assertions, èw?` violations are fatal. Use them for invariants that must NEVER be broken.

Basic Syntax

ewo condition;

Assert that a condition is true. Panics if false.

// Simple assertion
ayanmo age = 25;
ewo age >= 0;  // OK

ayanmo balance = -100;
ewo balance >= 0;  // PANIC: Taboo violated!

ewo condition, "message";

Assert with a custom error message.

ayanmo users = [];
ewo users.len() > 0, "User list cannot be empty";

// If empty: PANIC: Taboo violated: User list cannot be empty

English Alias

assert condition, "message";

English alias for ewo.

// Both are equivalent:
ewo x > 0, "x must be positive";
assert x > 0, "x must be positive";

Common Patterns

Preconditions

Check inputs at function start.

ise divide(a, b) {
    ewo b != 0, "Division by zero forbidden";
    padap? a / b;
}

Postconditions

Verify results before returning.

ise sqrt(n) {
    ewo n >= 0, "Cannot sqrt negative";
    ayanmo result = Obara.sqrt(n);
    ewo result >= 0, "sqrt must be non-negative";
    padap? result;
}

Loop Invariants

Ensure conditions hold during iteration.

ayanmo i = 0;
nigba (i < 100) {
    ewo i >= 0, "Loop counter went negative!";
    // ... loop body
    ayanmo i = i + 1;
}

Type Guards

Validate data types at runtime.

ise process(data) {
    ewo Ogbe.type(data) == "list", "Expected a list";
    ewo data.len() <= 1000, "List too large";
    // ... process data
}

Èw?` vs Error Handling

Use Case Mechanism
Invariants that must never break ewo
Expected failures (file not found) Okanran.try()
User input validation ti/bib?k? (if/else)
Bug detection in development ewo

Cultural Context

In Yoruba tradition, èw?` are sacred prohibitions — things that must never be done. Breaking an èw?` brings spiritual consequences. In Ifá-Lang, breaking an èw?` brings program termination. Both serve the same purpose: enforcing boundaries that maintain harmony and correctness.