|
1 | 1 | // SPDX-License-Identifier: PMPL-1.0-or-later |
| 2 | +// Copyright (c) 2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk> |
2 | 3 | = Next-Gen Languages — Show Me The Receipts |
3 | 4 | :toc: |
| 5 | +:toclevels: 3 |
4 | 6 | :icons: font |
| 7 | +:author: Jonathan D.A. Jewell |
5 | 8 |
|
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" |
7 | 121 |
|
8 | 122 | [quote, README] |
9 | 123 | ____ |
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. |
11 | 127 | ____ |
12 | 128 |
|
| 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 | + |
13 | 224 | == File Map |
14 | 225 |
|
15 | | -[cols="1,2"] |
| 226 | +[cols="1,3"] |
16 | 227 | |=== |
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. |
18 | 311 |
|
19 | | -| `test(s)/` | Test suite |
| 312 | +| `TOPOLOGY.md` |
| 313 | +| Visual map of all language satellites and their relationships. |
20 | 314 | |=== |
21 | 315 |
|
22 | 316 | == Questions? |
23 | 317 |
|
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