Skip to content

ESC-02: no stdlib JSON type — JSON.t port target (Refs 229) #246

Description

@hyperpolymath

Problem

ReScript JSON.t (and the JSON.* surface) has no stdlib target in
AffineScript: stdlib/ ships Ajv but no Json module / no canonical JSON
value type. 7 estate .affine files carry JSON.t (post-#228 re-audit;
docs/RESCRIPT-ELIMINATION.adoc Tier-3 ESC-02).

Escalated language-side (bidirectional-evidence discipline, as #228).

Ask

A canonical stdlib JSON value type + minimal surface (parse/stringify/access)
so JSON.t-bearing ports have a defined target. Scope to the minimum #229
needs; coordinate with any existing serialization work.

Context

Activity

  1. added 3 commits that reference this issue on May 19, 2026
  2. hyperpolymath commented on May 26, 2026

    @hyperpolymath
    OwnerAuthor

    Closing as the ask is delivered. stdlib/json.affine is in main and AOT-gated (#136):

    • Json ADT (recursive structural type) ✅
    • Encoders + decoders ✅
    • get_field for field access ✅
    • stringify for serialisation ✅

    These cover the "parse/stringify/access" surface called out in this issue, and the Http.affine:16 Dict/Json gap that this and #247 jointly named is now closed (parse is the Http typed-boundary bridge per ADR-018; access + structure live in stdlib/json.affine).

    Filed as part of the T-6 issue-triage pass of the repo-tidy stack (see PR #359, #360, #365, #366, #367).


    Generated by Claude Code

  3. added a commit that references this issue on May 26, 2026
    80f7f7c
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

    enhancementNew capability or improvement to existing behaviour

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions