Skip to content

Commit 4e89643

Browse files
committed
docs: substantive CRG C annotation (EXPLAINME.adoc)
1 parent e092742 commit 4e89643

1 file changed

Lines changed: 303 additions & 6 deletions

File tree

EXPLAINME.adoc

Lines changed: 303 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,321 @@
11
// SPDX-License-Identifier: PMPL-1.0-or-later
2+
// Copyright (c) 2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
23
= Next-Gen Languages — Show Me The Receipts
34
:toc:
5+
:toclevels: 3
46
:icons: font
7+
:author: Jonathan D.A. Jewell
58

6-
The README makes claims. This file backs them up.
9+
The README makes claims. This file backs them up with architectural context,
10+
honest status per language, and enough structural detail for an external
11+
reviewer to understand the relationship between the languages, their -iser
12+
counterparts, and the rest of the hyperpolymath ecosystem.
13+
14+
IMPORTANT: This is a *parent tracking repository* — no implementation code
15+
lives here at the repo root. All language implementations live in
16+
subdirectories (`ephapax/`, `wokelang/`, `eclexia/`, etc.) which are also
17+
maintained as standalone canonical repos.
18+
19+
NOTE: `7-tentacles/` is NOT a programming language. It is an educational
20+
framework using My-Lang's dialects as a curriculum vehicle. Never audit it
21+
as a language implementation.
22+
23+
== Claim 1: "Ten languages that cover the full spectrum of modern software challenges"
24+
25+
[quote, README]
26+
____
27+
A coordinated effort to design and develop ten programming languages that
28+
collectively cover the full spectrum of modern software challenges, from
29+
AI-native development to formally verified real-time systems.
30+
____
31+
32+
=== How it works
33+
34+
The eight core languages plus two specialised languages are designed to
35+
complement each other, not compete. They occupy distinct cells in the design
36+
space:
37+
38+
[cols="1,1,2,1"]
39+
|===
40+
| Language | Primary Paradigm | Key Technical Mechanism | Implementation Language
41+
42+
| *Solo/Duet/Ensemble* (my-lang)
43+
| Imperative → AI-assisted → AI-native
44+
| Progressive dialect family: Me → Solo → Duet → Ensemble. `@synth` and
45+
`@verify` annotations in Duet. `AI<T>` effect type in Ensemble.
46+
| Rust compiler, ReScript frontend
47+
48+
| *Phronesis*
49+
| Declarative, logic-based agent ethics
50+
| `Agent.`, `Values:`, `EVALUATE(...)` spec constructs. Formal AI ethics
51+
specification language.
52+
| Rust (per roadmap)
53+
54+
| *Eclexia*
55+
| Declarative, constraint-driven
56+
| `(energy budget ...)`, `(resource ...)` constraints propagated through
57+
type system. Green computing / IoT.
58+
| Rust
59+
60+
| *Oblíbený*
61+
| Turing-incomplete for deployment, metaprogramming for authoring
62+
| `(forbid recursion)`, `(bounded-for ...)`. Designed for HSMs and secure
63+
enclaves where non-termination is a security violation.
64+
| OCaml (per language design conventions)
65+
66+
| *Anvomidav*
67+
| Functional, concurrent, formal (linear/session types)
68+
| `task @sched(EDF)`, `Linear<T>`, `Π (...) . T`. Hard real-time: avionics,
69+
autonomous vehicles, robotics.
70+
| Rust + Idris2 proofs
71+
72+
| *WokeLang*
73+
| Imperative, natural-language
74+
| `only if okay "..."`, `attempt ... or reassure`. Human consent as a
75+
first-class language primitive.
76+
| OCaml parser, Rust evaluator
77+
78+
| *AffineScript*
79+
| Affine types targeting WASM
80+
| Affine type system (use at most once) for WebAssembly. Companion to
81+
Ephapax (which is dyadic: affine + linear).
82+
| OCaml compiler
83+
84+
| *Ephapax*
85+
| Dyadic linear type system
86+
| `let x = ...` (affine) vs `let! x = ...` (linear). Targets WebAssembly.
87+
Gossamer backend. Rust compiler, Coq proofs.
88+
| Rust (17 crates), Coq proofs
89+
|===
90+
91+
=== Most mature: Ephapax
92+
93+
`ephapax/` is the most advanced implementation. It is a Cargo workspace with
94+
17 crates:
95+
96+
* `ephapax-lexer` — tokeniser
97+
* `ephapax-parser` — AST construction
98+
* `ephapax-analysis` — type-checking and linearity analysis
99+
* `ephapax-desugar` — surface → IR desugaring
100+
* `ephapax-ir` — intermediate representation
101+
* `ephapax-interp` — interpreter
102+
* `ephapax-cli` — command-line entry point (`ephapax run`, `ephapax check`)
103+
* `ephapax-lsp` — Language Server Protocol implementation
104+
* `ephapax-repl` — REPL
105+
* `ephapax-package` — package management
106+
107+
`ephapax/` also contains two arXiv paper sources:
108+
`arcvix-code-as-matter.tex` and `arcvix-dyadic-language-design.tex`.
109+
110+
=== Honest caveat
111+
112+
The language family is at different stages. Ephapax has a working type
113+
checker, interpreter, LSP, and REPL with ~307 tests. WokeLang has a parser
114+
and evaluator but is pre-production. Anvomidav has its type system designed
115+
but the compiler is early. Oblíbený and the my-lang dialect family are active.
116+
An external reviewer should consult each language's CHANGELOG for current
117+
implementation completeness rather than assuming the table above means
118+
"production ready."
119+
120+
== Claim 2: "Languages vs. -iser tools — implementations here, extractions in developer-ecosystem"
7121

8122
[quote, README]
9123
____
10-
This repository serves as the central tracking hub for the Next-Gen Languages initiative—a coordinated effort to design and develop ten programming languages that collectively cover the full spectrum of modern software challenges, from AI-native development to formally verified real-time systems.
124+
This repository contains the actual programming languages — full compilers,
125+
parsers, type checkers, interpreters. The -iser repos in developer-ecosystem
126+
let you use each language's unique power without learning the full language.
11127
____
12128

129+
=== How it works
130+
131+
Each language in `nextgen-languages/` has a corresponding `-iser` tool in
132+
`developer-ecosystem/`:
133+
134+
[cols="1,1,2"]
135+
|===
136+
| -iser Tool | Based On | What It Extracts
137+
138+
| `ephapaxiser`
139+
| Ephapax
140+
| Linear type checking for Rust/ReScript code — Ephapax's linear types as
141+
an external linter
142+
143+
| `wokelangiser`
144+
| WokeLang
145+
| Consent annotations and well-being checks for any codebase
146+
147+
| `eclexiaiser`
148+
| Eclexia
149+
| Resource budget analysis for any project
150+
151+
| `anvomidaviser`
152+
| Anvomidav
153+
| Formal verification harness for real-time code
154+
155+
| `oblibenyiser`
156+
| Oblíbený
157+
| Security hardening — Turing-incompleteness guarantees as an external tool
158+
159+
| `affinescriptiser`
160+
| AffineScript
161+
| Affine type linting for WASM projects
162+
163+
| `phronesiser`
164+
| Phronesis
165+
| AI ethics audit for agent codebases
166+
|===
167+
168+
The design principle: learn the language when you want its full power;
169+
use the -iser when you want one specific guarantee applied to existing code.
170+
This means the languages can be adopted incrementally without requiring a
171+
full rewrite of existing codebases.
172+
173+
=== Honest caveat
174+
175+
Most -iser tools are earlier stage than their parent languages. The split
176+
between "here" and `developer-ecosystem` is architectural policy, not
177+
evidence that either side is complete. An external reviewer should check
178+
`developer-ecosystem/` for the current status of each -iser before assuming
179+
it is deployable.
180+
181+
== Dogfooded Across The Account
182+
183+
[cols="1,2,2"]
184+
|===
185+
| Technology | Role in Next-Gen Languages | Also Used In
186+
187+
| *Rust*
188+
| Primary compiler implementation language for Ephapax (17 crates), WokeLang
189+
evaluator, Eclexia, Anvomidav. `#![forbid(unsafe_code)]` policy enforced.
190+
| gossamer, verisimdb, gitbot-fleet, maa-framework
191+
192+
| *OCaml*
193+
| AffineScript compiler, WokeLang parser (per language design convention:
194+
OCaml is the allowed language for compiler front-ends)
195+
| `developer-ecosystem/ocaml-ecosystem/`
196+
197+
| *Idris2 ABI* (per ABI/FFI Universal Standard)
198+
| Anvomidav type proofs; Ephapax has `ephapax-proven` and `ephapax-proven-ffi`
199+
crates with Coq proofs
200+
| Gossamer, Groove, Stapeln, VeriSimDB
201+
202+
| *Coq proofs*
203+
| Ephapax linearity and termination proofs in `ephapax/` (arXiv paper backed)
204+
| maa-framework/absolute-zero, echidna (Coq is one of echidna's prover targets)
205+
206+
| *Ephapax itself*
207+
| Gossamer backend language — the primary consumer of the Ephapax compiler
208+
| Gossamer; `nextgen-languages/ephapax` is the upstream
209+
210+
| *Julia*
211+
| `language-status-tracker.jl` — batch script tracking implementation
212+
progress across all languages
213+
| developer-ecosystem batch processing, data analysis
214+
215+
| *Hypatia scanning*
216+
| `.hypatia/` CI workflows for each language subdirectory
217+
| Every RSR repo in the account
218+
219+
| *Stapeln containers*
220+
| `stapeln.toml` — compiler toolchain containers
221+
| All containerised services in the account
222+
|===
223+
13224
== File Map
14225

15-
[cols="1,2"]
226+
[cols="1,3"]
16227
|===
17-
| Path | What's There
228+
| Path | What It Proves
229+
230+
| `ephapax/`
231+
| Most mature language. 17 Rust crates (lexer → parser → analysis → desugar
232+
→ IR → interp → cli → lsp → repl → package). Coq proofs of linear type
233+
soundness. Two arXiv paper sources. `ephapax-proven/` and
234+
`ephapax-proven-ffi/` contain formally verified components. WASM target.
235+
The Gossamer upstream.
236+
237+
| `wokelang/`
238+
| Human-centric language. OCaml parser. Rust evaluator. `compiler/` subdirectory.
239+
`bench/` benchmarks. `arxiv-consent-aware-programming.tex` — research basis.
240+
241+
| `eclexia/`
242+
| Sustainable computing language. Rust implementation. Resource budget
243+
constraint propagation through the type system.
244+
245+
| `affinescript/`
246+
| Affine types for WASM. OCaml compiler. `AI.a2ml` and `AI.djot` — AI
247+
manifest and documentation. Full RSR Gold tier claimed.
248+
249+
| `anvomidav/`
250+
| Hard real-time systems language. Linear + session types. `Π-types` in
251+
the syntax. Rust + Idris2 proofs.
252+
253+
| `oblibeny/`
254+
| Turing-incomplete secure enclave language. `(forbid recursion)` and
255+
`(bounded-for ...)` are first-class syntax. OCaml implementation.
256+
257+
| `phronesis/`
258+
| AI ethics specification language. `Agent.`, `Values:`, `EVALUATE(...)`.
259+
Rust implementation. Design targeted at formal AI alignment auditing.
260+
261+
| `my-lang/`
262+
| Progressive dialect family: Me → Solo → Duet → Ensemble. Single Rust
263+
compiler that handles all four dialects via dialect-specific parse modes.
264+
265+
| `betlang/`
266+
| Foundational experiment — the language that preceded the full family.
267+
Full Cargo workspace.
268+
269+
| `julia-the-viper/`
270+
| Systems language with Harvard Architecture memory model. Named separately
271+
from Julia the data language to avoid confusion.
272+
273+
| `error-lang/`
274+
| Pedagogical language for teaching systems thinking via error conditions.
275+
276+
| `tangle/`
277+
| Literate programming / tangling tool shared across the language ecosystem.
278+
279+
| `me-dialect/`
280+
| The "Me" beginner dialect of my-lang. Separated for pedagogical clarity.
281+
282+
| `7-tentacles/`
283+
| NOT a language. Educational framework using my-lang's dialects as
284+
curriculum across a 10-year trajectory. Skip when auditing languages.
285+
286+
| `languages/`
287+
| Cross-language shared utilities and type definitions.
288+
289+
| `language-status-tracker.jl`
290+
| Julia script tracking implementation completeness across all languages.
291+
Authoritative source for "what is actually done."
292+
293+
| `scripts/`
294+
| Batch tooling for cross-language operations.
295+
296+
| `wiki/`
297+
| Language design documentation — grammars, syntax decisions, type system
298+
rationale.
299+
300+
| `hooks/`
301+
| Git hooks enforcing language-specific invariants (e.g. no TypeScript,
302+
no Python).
303+
304+
| `.machine_readable/`
305+
| A2ML checkpoint files (STATE, META, ECOSYSTEM, AGENTIC, NEUROSYM, PLAYBOOK).
306+
Canonical AI session state.
307+
308+
| `TOOLING-STATUS.adoc`
309+
| Current tooling readiness for each language. The honest "what compiles,
310+
what does not" document.
18311

19-
| `test(s)/` | Test suite
312+
| `TOPOLOGY.md`
313+
| Visual map of all language satellites and their relationships.
20314
|===
21315

22316
== Questions?
23317

24-
Open an issue or reach out directly — happy to explain anything in more detail.
318+
Start with `TOOLING-STATUS.adoc` for the current state of each language.
319+
For the most complete implementation, start with `ephapax/README.adoc`.
320+
For the language design philosophy, see `wiki/` and the individual arXiv
321+
paper sources in `ephapax/` and `wokelang/`.

0 commit comments

Comments
 (0)