Skip to content

Complete the remaining Workshop-independent OPY syntax surface #28

Description

@Teakowa

Parent: #7

Goal

Close the remaining pure-language OPY syntax gaps that can be implemented and verified without Workshop lowering or catalog ownership.

Context

The current frontend already covers the declared core syntax/control-flow surface, but compatibility/support-matrix.json still records pure OPY syntax gaps such as switch/case/default, do…while, hex literals, expression-level membership, string modifiers, dicts, comprehensions, and lambda forms. These are language-frontend concerns and should be resolved before the Workshop integration stage.

Scope

  • Implement and corpus-test switch / case / default.
  • Implement and corpus-test do … while.
  • Implement hexadecimal numeric literals where accepted by the pinned OverPy oracle.
  • Implement expression-level in / not in semantics where independently evidenced.
  • Implement the remaining inventory-backed string modifier forms (f/w/l/b/c/t) with reference-compatible parse/semantic behavior.
  • Implement dict literals, list comprehensions, and lambda forms that belong to the declared OverPy compatibility surface.
  • Preserve trivia/source spans/provenance and recoverable diagnostics so tooling APIs remain usable on the new constructs.
  • Add positive/negative minimized fixtures and oracle probes for every newly supported form.
  • Update human and machine-readable compatibility evidence only when implementation/tests justify the status change.

Non-goals

  • Workshop lowering or emission.
  • Canonical Workshop builtin/enum/member validation.
  • Inventing WrightKit-only OPY syntax or improving upstream syntax beyond observable compatibility.
  • Matching upstream parser internals or formatting.

Acceptance criteria

  • The pure syntax rows currently tracked as planned no longer remain planned without an explicit evidence-backed reason.
  • Reference-accepted syntax in scope parses/resolves through Opy HIR or an appropriate OPY semantic representation with stable source provenance.
  • Invalid/reference-rejected variants produce structured diagnostics rather than panics or silent acceptance.
  • Differential evidence distinguishes genuine native gaps from unsupported/out-of-scope behavior.
  • Existing tooling APIs and compatibility corpus remain green.
  • No workshop-rs dependency or Workshop catalog data is introduced.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions