Skip to content

Commit e510da0

Browse files
hyperpolymathclaude
andcommitted
docs: add TOOLING-STATUS.adoc — comprehensive tooling matrix
Documents the state of all 12 languages: compiler, LSP, DAP, linter, formatter, tree-sitter, doc gen, package manager, conformance tests, BoJ Server integration IDs, ABI/FFI standard adoption, and formal verification capabilities. Verified 2026-03-21. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent b6275d1 commit e510da0

1 file changed

Lines changed: 209 additions & 0 deletions

File tree

TOOLING-STATUS.adoc

Lines changed: 209 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,209 @@
1+
// SPDX-License-Identifier: PMPL-1.0-or-later
2+
= Nextgen Languages — Tooling & Integration Status
3+
:toc:
4+
:toclevels: 2
5+
6+
Last verified: 2026-03-21
7+
8+
== Overview
9+
10+
This monorepo contains 12 programming languages + 2 meta-projects. All 12 languages
11+
are registered in the BoJ Server `lang-mcp` cartridge with session management, type-checking,
12+
and evaluation via V-lang adapter + Zig FFI.
13+
14+
== Language Tooling Matrix
15+
16+
[cols="<2,^1,^1,^1,^1,^1,^1,^1,^1,^1", options="header"]
17+
|===
18+
| Language | Compiler | LSP | DAP | Linter | Formatter | Tree-sitter | Doc Gen | Pkg Mgr | Conformance
19+
20+
| **Eclexia**
21+
| 25 crates (Rust)
22+
| eclexia-lsp
23+
| eclexia-dap
24+
| eclexia-lint
25+
| eclexia-fmt
26+
| —
27+
| eclexia-doc
28+
| —
29+
| ✓ + fuzz
30+
31+
| **Betlang**
32+
| 7 crates (Rust)
33+
| bet-lsp (Gleam)
34+
| bet-dap
35+
| —
36+
| —
37+
| — (LALRPOP)
38+
| —
39+
| —
40+
| ✓ + fuzz
41+
42+
| **AffineScript**
43+
| OCaml
44+
| affine-lsp (Rust)
45+
| affine-dap (Rust)
46+
| linter.ml
47+
| stub
48+
| tree-sitter
49+
| affine-doc
50+
| affine-pkg
51+
| ✓
52+
53+
| **Ephapax**
54+
| Idris2-based
55+
| planned
56+
| planned
57+
| —
58+
| —
59+
| —
60+
| —
61+
| —
62+
| —
63+
64+
| **Wokelang**
65+
| Rust
66+
| planned
67+
| planned
68+
| —
69+
| —
70+
| —
71+
| —
72+
| —
73+
| ✓
74+
75+
| **My-Lang**
76+
| 7 components
77+
| ✓
78+
| planned
79+
| —
80+
| —
81+
| —
82+
| —
83+
| —
84+
| —
85+
86+
| **Julia-the-Viper**
87+
| Idris2 ABI
88+
| planned
89+
| planned
90+
| —
91+
| —
92+
| —
93+
| —
94+
| —
95+
| ✓ + benchmarks
96+
97+
| **Tangle**
98+
| Rust
99+
| tangle-lsp
100+
| planned
101+
| —
102+
| —
103+
| — (EBNF)
104+
| —
105+
| —
106+
| —
107+
108+
| **Phronesis**
109+
| Rust
110+
| planned
111+
| planned
112+
| —
113+
| —
114+
| — (tmLanguage)
115+
| —
116+
| —
117+
| ✓
118+
119+
| **Oblibeny**
120+
| OCaml
121+
| ✓
122+
| ✓
123+
| —
124+
| —
125+
| —
126+
| —
127+
| —
128+
| —
129+
130+
| **Error-lang**
131+
| Rust
132+
| error-lang-lsp
133+
| planned
134+
| —
135+
| —
136+
| — (tmLanguage)
137+
| —
138+
| —
139+
| ✓
140+
141+
| **Me-dialect**
142+
| Rust
143+
| planned
144+
| planned
145+
| —
146+
| —
147+
| —
148+
| —
149+
| —
150+
| —
151+
|===
152+
153+
== BoJ Server Integration
154+
155+
All 12 languages are registered in `boj-server/cartridges/lang-mcp/`:
156+
157+
[cols="<2,^1,<4", options="header"]
158+
|===
159+
| Language | ID | BoJ Features
160+
161+
| Eclexia | 1 | Session, typecheck, eval, compile
162+
| AffineScript | 2 | Session, typecheck, eval, compile
163+
| Betlang | 3 | Session, typecheck, eval, compile
164+
| Ephapax | 4 | Session, typecheck, eval, compile
165+
| My-Lang | 5 | Session, typecheck, eval, compile
166+
| Wokelang | 6 | Session, typecheck, eval, compile
167+
| Anvomidav | 7 | Session (stub)
168+
| Phronesis | 8 | Session, typecheck, eval
169+
| Error-lang | 9 | Session, typecheck, eval
170+
| Julia-the-Viper | 10 | Session, typecheck, eval, dialect injection
171+
| Me-dialect | 11 | Session, typecheck
172+
| Oblibeny | 12 | Session, typecheck, eval
173+
|===
174+
175+
=== Related BoJ Cartridges
176+
177+
* **lang-mcp** — Language sessions (V-lang adapter, Zig FFI, PanLL panels)
178+
* **lsp-mcp** — Generic LSP proxy (ABI/FFI/adapter/panels)
179+
* **dap-mcp** — Generic DAP proxy (ABI/FFI/adapter/panels)
180+
181+
=== Julia-the-Viper Dialect Injection
182+
183+
Any language can be augmented with JtV by requesting dialect `jtv`:
184+
185+
* API: `lang_session_start_dialect(lang_id, 1, name)` where `1` = JtV
186+
* Shorthand: `"eclexia+jtv"`, `"betlang+jtv"`, `"affinescript+jtv"`, etc.
187+
188+
== ABI/FFI Standard (Idris2 + Zig)
189+
190+
[cols="<2,^1,^1,^1", options="header"]
191+
|===
192+
| Language | Idris2 ABI | Zig FFI | Status
193+
194+
| AffineScript | `src/abi/` (Types, Layout, Foreign) | planned | In progress
195+
| Julia-the-Viper | `src/abi/` (Types, Layout, Foreign) | planned | In progress
196+
| Ephapax | ephapax-proven (3 crates) | proven-ffi | Complete
197+
| Others | — | — | Not started
198+
|===
199+
200+
== Formal Verification
201+
202+
* **Ephapax** — Linear type proofs via Idris2
203+
* **AffineScript** — Affine type proofs (linear subset)
204+
* **Eclexia** — Effect system proofs (`eclexia-effects` crate)
205+
206+
== Meta-Projects
207+
208+
* **7-Tentacles** — Game development curriculum using nextgen languages
209+
* **Anvomidav** — Stub (19 files, minimal)

0 commit comments

Comments
 (0)