Skip to content
Merged
37 changes: 33 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,39 @@ All notable changes to Coderive are documented in this file.

## [v0.9.0] - Platform Snapshot - April 13, 2026

### ✨ Major Updates
- **Version bump to v0.9.0** — Updated repository release version to `0.9.0`.
- **README refresh for current platform scope** — Reworked the README to clearly describe what Coderive offers today across language design, lazy range execution, safety model, runtime pipeline, CLI workflows, and docs/playground experience.
- **Release documentation alignment** — Synced changelog and version metadata with the new v0.9.0 release.
### 🔀 Merge Coverage for This Snapshot
- **Linear recurrence refactor/composition and v0.8.4 version alignment** — recurrence formula refactor/composition updates and version alignment work.
- **Rolling/vector recurrence execution improvements** — rolling/vector linear recurrence execution upgrades and related parity-path updates.
- **`.codc` container write/read hardening** — custom zip-container behavior and container stability improvements.
- **Shared index consolidation in project container root** — import index consolidation into project container root entry (`HOOK.toml`).
- **Unit-path structure fixes and deterministic lowering reset** — `.codb`/`.codc` path structure fixes plus deterministic PTAC lowering counter reset behavior.
- **`CommandRunner` full compile mode and summary polish** — `-f`/`--full` support and compile summary output improvements.
- **Borrow-check enforcement for unsafe indexed mutation** — borrow safety checks extended into unsafe indexed mutation paths.
- **Active-borrow tracking performance upgrades** — zero-cost/O(1) active-borrow tracking improvements.
- **Unsafe operation boundary model implementation** — `unsafe` class/method modifier support with enforced `safe(...)` wrapping for calling unsafe operations from safe contexts (direct safe-context calls are rejected).

### 🚨 Breaking / Behavioral Changes
- **Unsafe declaration ordering enforced** — Unsafe declarations require explicit visibility before `unsafe` (`share unsafe ...` or `local unsafe ...`).
Migration example: `unsafe share MyType { ... }` → `share unsafe MyType { ... }`.
- **Unsafe operation boundary model enforced** — `unsafe` is supported as a class/method modifier, and unsafe constructors/methods must be wrapped with `safe(...)` when called from safe contexts. `safe(...)` is not allowed inside unsafe contexts.
- **Borrow checks tightened in unsafe mutation paths** — Unsafe indexed mutation now participates in borrow-safety enforcement.

### ✨ Major Features
- **Unsafe pointer model added** — Unsafe contexts support pointer-oriented syntax/runtime behavior (`*T`, `T[n]`, `&`, `*`, and pointer arithmetic with bounds checks).
- **Full-project compile mode in CLI** — `CommandRunner` supports `-f` / `--full` to compile all `.cod` files under `src/main`.
- **O(1) borrow checking via active-borrow tracking** — Borrow-state checking moved from scan-based checks to O(1)-style active tracking for lower runtime overhead.

### 🔧 Runtime / PTAC / IR Improvements
- **Deterministic lowering register naming** — PTAC lowering counters reset per `lower()` call to keep generated naming stable per artifact.
- **IR path normalization for dotted units** — Dotted unit names are normalized into slash paths for both `.codc` entries and standalone `.codb` fallback lookup.
- **Project-level index container** — Shared index data is stored in `src/bin/project.codc` at root entry `HOOK.toml`.
- **Container format and write hardening** — `.codc` container behavior was tightened with stronger write/cleanup semantics and stable zip-container handling.
- **Standalone `.codb` support retained** — Standalone `.codb` artifacts remain a permanent supported format alongside `.codc` grouping.

### ⚡ Lazy Array & Formula Execution
- **Conditional formula composition in `NaturalArray`** — Conditional formulas compose into a single merged formula path.
- **Linear recurrence composition and rolling/vector execution upgrades** — Recurrence paths were refactored for better composition, lower memory pressure, and improved recurrence execution behavior.
- **Lazy map/filter chaining composition** — LiteralRegistry composes chained lazy map/filter views to reduce wrapper layering.

## [v0.8.4] - Formula Lock-In - April 12, 2026

Expand Down
27 changes: 0 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
## Table of Contents

- [What is Coderive?](#what-is-coderive)
- [What Coderive offers today](#what-coderive-offers-today)
- [Why Coderive?](#why-coderive)
- [Getting Started](#getting-started)
- [Language Features](#language-features)
Expand All @@ -50,32 +49,6 @@ Coderive features a fully hand-written, modular lexer-parser pipeline (no ANTLR)

---

## What Coderive offers today

Coderive is no longer just a small interpreter demo — it now offers a complete language + tooling stack:

- **Expressive core language design**
Quantifier-first boolean logic (`any[]`, `all[]`), clean slot-based multi-return functions (`::` + `~>`), policy-based contracts, class inheritance, and readable control-flow constructs.

- **High-scale lazy data model**
O(1) NaturalArray/range-backed collections, formula-driven iteration, negative/range indexing, conditional and recurrence composition, and array-oriented transformations without eager materialization.

- **Safe + explicit execution model**
Strong typing semantics, structured visibility (`share`/`local`), explicit safe/unsafe boundaries, and deterministic parser/interpreter behavior built from hand-written language components.

- **Bytecode and runtime pipeline**
Script execution plus PTAC/IR artifact paths for compiled execution flows, with reusable runtime infrastructure for direct execution and parity validation workflows.

- **CLI and project workflows**
One-command installer (`install.sh`), direct JAR invocation support, and repository runners for command execution, parity checks, and complexity/performance-focused validation scenarios.

- **Documentation and browser experience**
A dedicated docs + playground site under `docs/`, enabling interactive language exploration without local installation.

If you want a language that prioritizes readability, scalable lazy execution, and practical ergonomics for real projects, Coderive is built for that.

---

## Why Coderive?

### ① Quantifier-First Logic
Expand Down