Skip to content

Library modules with frontend weight: tuples, Proxy, Partial.Unsafe, Prim #96

Closed

Description

@biuld

Part of #76 (Phase 3). A smaller slice so Phase 3 does not become one unbounded change.

Do

Provide the library modules that carry real frontend weight, in this order:

  1. Data.Tuple (8 imports) — maps to a closed record { _1, _2 }, which is already how FE-06 represents a tuple. Mostly a declaration.
  2. Type.Proxy (17 imports) — the type proxy the corpus uses for kind and type-level tests. Needs data Proxy (a :: Type) with no runtime payload.
  3. Partial.Unsafe (12 imports) — unsafeCoerce/unsafePerformEffect. These must be honest about what they bypass; DEC-07 and DEC-10 constrain the representation they can reach.
  4. Prim.* — Prim.Row, Prim.Symbol, Prim.Int, Prim.Number, Prim.Boolean, Prim.Ordering. Overlaps Provide the Prim module hierarchy and desugar unary minus #89 (the compiler-provided Prim hierarchy): these are the library-visible half, Provide the Prim module hierarchy and desugar unary minus #89 is the reserved-name half. Coordinate rather than duplicate.

Acceptance

Each module is declared in stdlib/lib/trusted in prefix order, compiles, and executes under Wasmtime; docs/design/backend/wasm/wasi-platform-library.md records each with its FE/BE owner.

Activity

  1. added
    gate:L6/M7Blocks runtime and the standard library (D-04 L6, M7)
    area:stdlibThe PureScript standard library under stdlib/lib
    on Oct 1, 2026
  2. biuld commented on Oct 16, 2026

    @biuld
    OwnerAuthor

    The 2026-10-17 L2 board reports 0 missing-library blockers. Data.Tuple, Type.Proxy, and Partial.Unsafe are in the locked package, and no in-scope passing file is first-blocked on them. Corpus cases moves from 17 to 0.

    This issue stays open. The previous 17 was the Type.Proxy import count from the issue body, not a fresh first-blocker recount. Data.Symbol.unsafeCoerce is a different foreign and stays with #124.

    Evidence: L2 in docs/design/D-04-suite-roadmap.md (2026-10-17, 886cd82c, vendored corpus).

  3. biuld commented on Oct 18, 2026

    @biuld
    OwnerAuthor

    Recounted 2026-10-18 on master f5abccda: Data.Tuple, Type.Proxy, Partial.Unsafe, and the Prim.* library-visible half are all in the locked package (e556bf2f), and the L2 board reports 0 missing-library blockers (Corpus cases 17 → 0, first recorded 2026-10-16). Prim.Row/Prim.RowList/Prim.Symbol/Prim.Int relations all have rule entries (#120, closed); Prim.Number is intentionally not an official child module (recorded in D-04's M2). Closing on the measured gate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:stdlibThe PureScript standard library under stdlib/libenhancementNew feature or requestgate:L6/M7Blocks runtime and the standard library (D-04 L6, M7)

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions