Skip to content

Commit 7484e98

Browse files
Remove dormant ReScript compiler; wire AffineScript CI gate (#43)
* ide: migrate Error-Lang Studio from ReScript to AffineScript Ports the 6 IDE modules to AffineScript over the MPL-2.0 Dom.affine vdom, adds the browser host shim (src/host.js: handle table + dom_*/monaco_*/host_* externs + event bridge into the TEA loop), flips index.html to /src/host.js, switches the build to `affinescript compile --deno-esm` (self-contained src/Main.js) + Vite, and removes the superseded rescript.json + 6 .res modules. Docs/build commands updated (npm/rescript -> deno task / affinescript). Verified: all 7 .affine type-check; app compiles clean; host.js + Main.js pass node --check. Browser runtime is host-side (flagged NOTE: in host.js). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0195yA45jSSP7YDPwJSpw4bM * patches: add affinescript-dom-licensing.patch (MPL-2.0 + CC-BY-SA-4.0) Durable copy of the affinescript-dom licensing correction (unpushable to the out-of-scope hyperpolymath/affinescript). Standalone, manually-applied: corrects the DOM connector from a mislabelled AGPL header to MPL-2.0 (code) + CC-BY-SA-4.0 (docs) and evidences it in LICENSES/, the Mustfile, CODEOWNERS, MAINTAINERS, and GOVERNANCE. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0195yA45jSSP7YDPwJSpw4bM * Complete ReScript→AffineScript migration: remove .res, wire CI gate The `.affine` modules under compiler/src/ reached parity with and superseded the legacy ReScript compiler, which was dormant — no CI job, deno task, or build file referenced compiler/src/*.res. - Remove 26 dormant .res sources (17 compiler/src, 7 compiler/test, 2 compiler/fuzz) and compiler/rescript.json. - Add .github/workflows/affinescript-check.yml: builds the AffineScript toolchain and type-checks every compiler/src/*.affine via the existing verification/check-affinescript.sh. Behavioural .affine test ports remain future work; the type-check gate is the interim verification for the AffineScript compiler. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0195yA45jSSP7YDPwJSpw4bM --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1 parent aca18a9 commit 7484e98

28 files changed

Lines changed: 38 additions & 10920 deletions
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# SPDX-License-Identifier: MPL-2.0
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# AffineScript type-check gate. The compiler's source of truth is now the
5+
# `.affine` modules under compiler/src/ (the legacy ReScript `.res` sources were
6+
# removed once parity was reached). This gate builds the AffineScript toolchain
7+
# and type-checks every `.affine` source so a regression cannot land unnoticed.
8+
name: AffineScript Check
9+
10+
on:
11+
push:
12+
branches: [main]
13+
pull_request:
14+
15+
permissions:
16+
contents: read
17+
18+
concurrency:
19+
group: affinescript-check-${{ github.ref }}
20+
cancel-in-progress: true
21+
22+
jobs:
23+
affinescript-check:
24+
name: Type-check .affine sources
25+
runs-on: ubuntu-latest
26+
steps:
27+
- name: Checkout
28+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
29+
30+
# Builds hyperpolymath/affinescript from distro OCaml packages (opam-free)
31+
# and installs the `affinescript` CLI to /usr/local/bin.
32+
- name: Install AffineScript toolchain
33+
run: bash scripts/install-affinescript-toolchain.sh
34+
35+
# cd's to compiler/src and runs `affinescript check` on every *.affine so
36+
# sibling-module imports resolve. Non-zero exit fails the gate.
37+
- name: Type-check AffineScript sources
38+
run: bash verification/check-affinescript.sh

compiler/fuzz/FuzzLexer.res

Lines changed: 0 additions & 115 deletions
This file was deleted.

compiler/fuzz/FuzzParser.res

Lines changed: 0 additions & 130 deletions
This file was deleted.

compiler/rescript.json

Lines changed: 0 additions & 30 deletions
This file was deleted.

0 commit comments

Comments
 (0)