Dynamic language
Aipo documentation
A dynamic, strongly typed language with optional contracts.
User guide
Concepts, first steps, and reference for using the project.
Getting started 4
Manual 7
- Concurrency & Async
- Control Flow & Failures
- Functions, Closures & Lambdas
- Interfaces & Contracts
- Packages & Modules
- Standard Library (Stdlib)
Packages 5
Trajectory 7
- Wave 0 — Language MVP across 11 Slices
- Wave 1 — Contracts, Rollback & Conformance
- Wave 2 — JavaScript Backend & Deep Quality
- Wave 3 — Rich Types, Async & Concurrency
- Wave 4 — Host ABI, Sandboxing & Poppy Engine
- Wave 5 — Hermetic & Offline Package Manager
Development
Internal architecture, conventions, and material for contributors.
Architecture 8
- Aipo — Architecture Overview (Waves 1–2)
- ADR 001: Architectural baseline and Clean Architecture principles
- Bytecode & Virtual Machine
- Architecture and Clean Code Contract
- Compiler Frontend
- Workspace Crate Contracts
Decisions 13
- ADP-001 — Core Types and Bytes as Values
- ADP-002 — Construction Hooks and Runtime Contracts
- ADP-003 — Execution Budgets
- ADP-004 — Unicode Identifier Policy
- ADP-005 — Parser Recursion Limits
- ADP-006 — Open Decisions for Waves 3 & 4
Proposals (ADP) 11
- ADP-001 — Byte, Bytes and types as values in Prelude V1
- ADP-002 — Construction hooks, invariants and runtime contracts
- ADP-003 — Execution Budgets for Untrusted Programs (fuel, memory, interruption)
- ADP-004 — Unicode Identifier and Security Policy
- ADP-005 — Parser Recursion Bounds (Nesting Limits)
- ADP-006 — Wave 3/4 Open Decisions (async, collections, packing, host)
Governance 5
Evidence 19
- Language Conformance Matrix
- Cross-Language Benchmarks
- Evidence — P00-G09 / Slice S9 (Runtime & Minimum Stdlib)
- Evidence — P00-G10 / Backend Completion (gaps inside S1–S9)
- Evidence — P00-G11 / Slice S10 (CLI + Formatter)
- Evidence — P00-G12 / Slice S11 (Conformance Hardening & MVP Gate)
Performance 2
Design 1
Zoe 10
- Getting Started with Zoe UI
- Advanced Widgets
- Buttons & Selection Controls
- Creating Custom Components
- Input Fields
- Layout Containers