Vector Labs

Arra Semantics

This document is an index. The semantics specification is split into topic files under doc/semantics/:

Section File Contents
§1 semantics/01_EXECUTION.md Core execution model, word order, whole-program compilation
§2 semantics/02_TYPES.md Base types, arrays, row types, dependent dimensions, Z3 integration
§3 semantics/03_HOOKS.md Hook system, dispatch keywords, specificity, traits, pat hooks
§4 semantics/04_TRAINS.md Trains, forks, tacit point-free programming
§5 semantics/05_EFFECTS.md Row-typed effects, handlers, array fusion
§6 semantics/06_REACTIVE.md Reactive state, derived views, incremental maintenance
§7 semantics/07_METAPROG.md Quoted programs, compile-time computation, type providers
§8 semantics/08_MODULES.md Module system, coherence boundaries, orphan rule
§9 semantics/09_FFI.md C FFI, Ptr type, type mapping
§10 semantics/10_OPEN-QUESTIONS.md Open design questions

Scope

This specification records semantic design decisions for Arra. It is a precise record of how things work, motivated by the conclusions of design discussions. Syntax is defined in ../SYNTAX.md; this document focuses entirely on semantics.