Skip to content
PT

Static copy

Copied from docs/en/decisions/adp-006.md in https://github.com/poppy-team/aipo-lang (MIT). Pinned to revision ce47c4e070404fc41722ccd8e2b7b808b99062a8, blob 9f70e1a187d6e2bf04febac17c7608ea58dc7e01. The source repository remains canonical; this copy is refreshed through a sync pull request, not live.

ADP-006 — Open Decisions for Waves 3 & 4 ​

  • Status: Approved & Implemented
  • Deciders: Poppy Team
  • Phase: Waves 3 and 4 (P02 / P03)

Context ​

Consolidation of open design decisions regarding asynchronous concurrency, task combinators, and Host ABI capability scoping.


Decisions Taken ​

  1. Concurrency Syntax:

    • await restricted to dedicated await do ... end execution blocks.
    • Forbids arbitrary await inside arithmetic subexpressions to prevent invisible data races.
  2. Cooperative Scheduler:

    • Deterministic virtual time managed by runtime.
    • Cooperative fibers switching at designated safe points.
  3. Capability Trees in Host ABI:

    • Hierarchical path notation for system permissions (e.g., fs.read, fs.write, net.http).
    • Strict deny-by-default capability model.