chomsky-types 0.0.0

Core types and definitions for Chomsky optimization framework
Documentation
# chomsky-types

Core type definitions and formal descriptions for the Chomsky optimization framework.

## Overview

`chomsky-types` provides the foundational building blocks for Project Chomsky, defining the "Universal Grammar" that allows the framework to represent diverse computational intents and their execution contexts.

## Key Components

### Intent Atoms
Represent the core computational patterns (Universal Grammar) of the framework:
- **Map**: Data transformation and filtering.
- **Reduce**: Accumulation and aggregation.
- **StateUpdate**: Side effects and state transitions.
- **Branch**: Conditional control flow.
- **Loop**: Iteration and recursion.
- **LifeCycle**: Resource management and cleanup (defer, etc.).
- **Meta**: Compile-time metaprogramming.
- **Trap**: Non-local control flow (exceptions, panics).

### Contexts
Define the environment and constraints under which intents are executed:
- **Linear/RefCounting**: Memory management models.
- **Async**: Asynchronous execution and coroutines.
- **GPU/SIMD**: Hardware-specific acceleration.
- **Safe**: Safety constraints (e.g., non-null).
- **Comptime**: Static evaluation environment.

### Source Management
- **SourceManager**: Global registry for source files.
- **Span & Loc**: Precise location tracking within source files, supporting multi-file projects.
- **LineMap**: Efficient mapping between byte offsets and line/column numbers.

## Usage

This crate is a low-level dependency used by almost all other `chomsky-*` crates. It contains no heavy logic, only data structures and basic utilities.

```rust
use chomsky_types::{Intent, Context, IntentNode};

let node = IntentNode::new(Intent::Map)
    .with_context(Context::GPU);
```