Skip to content

Aiki v0.4.0 Alpha 2

Latest

Choose a tag to compare

@decuser decuser released this 19 Aug 03:45

Aiki v0.4.0 Alpha 2

This is the second public alpha release of Aiki.

Alpha 2 keeps the language recognizably Aiki while substantially tightening the implementation, systems boundary, tooling, portability, and validation model. Exact rational arithmetic, left-to-right evaluation, shaped data, first-class functions, isolated message-passing concurrency, modules, graphics, and turtle remain central, but the architecture around them is now much more explicit and mechanically checked.

The grammar is treated more directly as executable authority and is coupled to parser and evaluator behavior, formatting, exports, help, documentation, and conformance. Self-description and self-hosting work have also advanced, including bootstrap interpretation, language services, formatting, completion, hover, tags, Xed integration, and a VS Code extension.

The systems boundary was reworked around an explicit HAL capability model. Aiki now separates semantic role from implementation realization. Portable behavior, host capabilities, interop, and internal services are distinguished from whether something is implemented in native Aiki, through provider or FFI machinery, as a runtime intrinsic, or as a mixed realization.

The native and FFI split is now enforced rather than conventional. Portable facilities such as bits, bytes, hash, and string have real native paths and explicit provider-backed counterparts. Bare portable imports resolve to native behavior. FFI use can be inspected with aiki check --ffi-use, and invariants detect native-to-FFI leakage, provider misclassification, fallback violations, and related boundary errors.

Graphics portability was also tightened. The ordinary aiki executable is headless with respect to Ebitengine. Live graphics now run through a separate aiki-canvas companion executable, keeping host graphics initialization out of unrelated programs and making the graphics boundary explicit at the process and composition-root level.

The standard library and systems surface grew substantially, including work across file, path, process, signal, terminal, networking, system, number, string, bytes, bits, hashing, storage, and related facilities. Runtime authority grants are explicit, and host-facing operations are more cleanly separated from portable semantics.

Alpha 2 also includes three larger validation experiments. Experiment 001 exercises semantic profiling and self-hosting, including a two-level bootstrap path. Experiment 002 reconstructs Ken Thompson's 1968 regular-expression compiler and IBM 7094 execution environment. Experiment 003, Four-Way Life, exercises concurrency, process coordination, storage, modules, and mixed native and provider-backed facilities.

Validation and distribution work also tightened considerably. The project now has broader conformance coverage, stronger invariants, fuzzing, engine smoke tests, structural tree checks, relocatable distribution checks, and a more demanding make rigorous gate.

Aiki remains an alpha. Syntax, library interfaces, tooling, and implementation details may still change as the language is hardened and simplified.

This release provides Intel/amd64 builds for Linux, macOS, and Windows. Linux and macOS pass the full validation suite. Windows builds and runs, including graphics, but the full suite has not been run there.

Prebuilt release archives are provided for:

  • aiki-v0.4.0-alpha-35-linux-amd64.tar.gz
  • aiki-v0.4.0-alpha-35-macos-amd64.tar.gz
  • aiki-v0.4.0-alpha-35-windows-amd64.tar.gz
  • SHA256SUMS

See the README for installation, Getting Started instructions, examples, project method, AI and authorship statement, limitations, and future direction.

Feedback on language behavior, reproducible failures, documentation, portability, and the overall design is welcome.