|
1 | | -// SPDX-License-Identifier: PMPL-1.0-or-later |
2 | | -// Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk> |
| 1 | += Next-Generation Languages — Research Overview |
3 | 2 |
|
4 | | -= Next-Generation Languages |
5 | | -Jonathan Jewell (hyperpolymath) |
6 | | -:toc: left |
7 | | -:toc-title: Contents |
8 | | -:doctype: article |
9 | | -:icons: font |
| 3 | +== Overview |
10 | 4 |
|
11 | | -link:../tangle/docs/krl_map.html[→ KRL architecture map (HTML)] |
| 5 | +This repository contains exploratory work on a family of programming and specification languages built around a shared principle: |
12 | 6 |
|
13 | | -== Overview |
| 7 | +*computation and meaning are determined by structured equivalence, not just raw values.* |
| 8 | + |
| 9 | +Across different domains (topology, resource systems, ethics, computation), these languages investigate how formal guarantees can be built into the structure of a language itself rather than added as tooling or conventions. |
| 10 | + |
| 11 | +This is research-stage work: some components are partially implemented or formally specified, others remain conceptual. |
| 12 | + |
| 13 | +== Core Idea |
14 | 14 |
|
15 | | -This category contains programming and specification languages built on |
16 | | -formal foundations: type theory, category theory, knot theory, and |
17 | | -domain-specific algebraic structures. |
| 15 | +The central idea underlying these languages is: |
18 | 16 |
|
19 | | -Each language is designed around a specific set of guarantees that existing |
20 | | -languages cannot provide — not as extensions, but as structural properties. |
| 17 | +*identity is defined by equivalence under transformation.* |
| 18 | + |
| 19 | +This appears in different forms: |
| 20 | + |
| 21 | +* *Computation*: values arise from construction paths, and meaning depends on those paths |
| 22 | +* *Topology*: objects are equivalent under isotopy (continuous deformation) |
| 23 | +* *Type systems*: structure constrains what transformations are valid |
| 24 | +* *Execution*: guarantees (termination, purity, resource bounds) are encoded in the language design |
| 25 | + |
| 26 | +These languages explore different instances of this idea. |
21 | 27 |
|
22 | 28 | == Projects |
23 | 29 |
|
24 | | -=== KRL — Knot Resolution Language |
25 | | -Surface language for constructing, transforming, resolving, and retrieving |
26 | | -topological objects (tangles, knots, links). |
| 30 | +=== JtV — Julia the Viper |
| 31 | + |
| 32 | +A foundational language exploring computation as *additive construction from neutral anchors (CNO)*. |
| 33 | + |
| 34 | +* Identity is determined by equivalence of construction paths |
| 35 | +* Inversion is treated as retraction of construction, not primitive subtraction |
| 36 | +* Strong separation between data and control (Harvard-style architecture) |
| 37 | + |
| 38 | +Status: design-stage, with partial specifications and experimental implementations. |
| 39 | + |
| 40 | +--- |
| 41 | + |
| 42 | +=== KRL — Knot Resolution Language (Tangle) |
27 | 43 |
|
28 | | -KRL spans four operations grounded in knot theory: |
| 44 | +A topologically inspired language where programs are represented as tangles (braids), and equivalence is defined by isotopy. |
29 | 45 |
|
30 | | -* *Construct* — compositional tangle building (Tangle PL compiler module) |
31 | | -* *Transform* — Reidemeister-style rewriting (KnotTheory.jl engine) |
32 | | -* *Resolve* — isotopy equivalence and quandle-based classification (QuandleDB) |
33 | | -* *Retrieve* — invariant-indexed query (Skein.jl) |
| 46 | +* Composition and tensor operations correspond to braid structure |
| 47 | +* Formal semantics specified |
| 48 | +* Core type system mechanised in Lean (see `Tangle.lean`) |
34 | 49 |
|
35 | | -link:../tangle-pl/README.adoc[→ KRL / Tangle PL documentation] |
| 50 | +Status: compiler and tooling in progress; formal core partially verified. |
| 51 | + |
| 52 | +--- |
36 | 53 |
|
37 | 54 | === Oblíbený |
38 | | -Phase-separated language: Turing-complete development phase, |
39 | | -Turing-incomplete deployment phase. Targets secure edge/IoT environments. |
40 | | -EBNF v0.6 complete; formal proofs in progress. |
| 55 | + |
| 56 | +A phase-separated language with: |
| 57 | + |
| 58 | +* Turing-complete development phase |
| 59 | +* Turing-incomplete deployment phase |
| 60 | + |
| 61 | +Designed for secure and constrained environments. |
| 62 | + |
| 63 | +Status: grammar stable; formal verification in progress. |
| 64 | + |
| 65 | +--- |
41 | 66 |
|
42 | 67 | === Eclexia |
43 | | -Economics-as-Code. Resource constraints as first-class language citizens. |
44 | | -EBNF finalised. Targets formally verified resource allocation systems. |
| 68 | + |
| 69 | +An “economics-as-code” language where resource constraints are first-class. |
| 70 | + |
| 71 | +Status: specified; implementation not started. |
| 72 | + |
| 73 | +--- |
45 | 74 |
|
46 | 75 | === Betlang |
47 | | -Hard real-time systems language. Dependent, session, and linear types. |
48 | | -DO-178C alignment. Zig compiler recommended. |
| 76 | + |
| 77 | +A language for hard real-time systems using dependent, session, and linear types. |
| 78 | + |
| 79 | +Status: specified. |
| 80 | + |
| 81 | +--- |
49 | 82 |
|
50 | 83 | === Phronesis |
51 | | -Ethical DSL for multi-agent systems. 40-line EBNF. IRTF submission planned. |
52 | 84 |
|
53 | | -=== My Language (Me/Solo/Duet/Ensemble dialects) |
54 | | -Four-dialect language family. Me: playground (ReScript). Solo: OCaml compiler ~60%. |
55 | | -Duet/Ensemble: specified. |
| 85 | +A domain-specific language for expressing ethical constraints in multi-agent systems. |
56 | 86 |
|
57 | | -=== JtV — Julia the Viper |
58 | | -Harvard architecture separation. Addition-only Turing-completeness. |
| 87 | +Status: early-stage. |
| 88 | + |
| 89 | +--- |
| 90 | + |
| 91 | +=== My Language (Me / Solo / Duet / Ensemble) |
| 92 | + |
| 93 | +A multi-dialect experimental language family exploring different levels of abstraction and composition. |
| 94 | + |
| 95 | +Status: partially implemented. |
59 | 96 |
|
60 | 97 | == Common Principles |
61 | 98 |
|
62 | | -* Every language targets a class of _structural guarantees_, not just features |
63 | | -* Formal semantics before implementation |
64 | | -* Compiler targets are canonical IRs, not direct code generation |
65 | | -* Each language pairs with a database or verification system in `nextgen-databases` |
| 99 | +Across these languages: |
| 100 | + |
| 101 | +* Formal semantics precede implementation |
| 102 | +* Each language targets a *specific structural guarantee* |
| 103 | +* Canonical intermediate representations (IRs) are preferred over direct compilation |
| 104 | +* Languages are paired with database or verification systems (see `nextgen-databases`) |
66 | 105 |
|
67 | | -== The KRL Stack |
| 106 | +== Relationship to Databases |
68 | 107 |
|
69 | | -The most developed system in this category is the KRL stack: |
| 108 | +These languages are designed to work with systems that treat equivalence as a first-class concept: |
70 | 109 |
|
71 | | ----- |
72 | | -KRL surface syntax |
73 | | - ↓ compiled by TanglePL module |
74 | | -TangleIR (canonical interchange) |
75 | | - ↓ abstracted by VerisimCore |
76 | | -VerisimMorphism (categorical view) |
77 | | - ↓ persisted by Skein.jl |
78 | | - ↓ fingerprinted by QuandleDB |
79 | | ----- |
| 110 | +* KRL ↔ QuandleDB / Skein |
| 111 | +* JtV ↔ future equivalence-aware runtime and storage models |
80 | 112 |
|
81 | | -`TangleIR` is the spine. Everything else is a view over it or a service to it. |
| 113 | +See the `nextgen-databases` repository for details. |
82 | 114 |
|
83 | 115 | == Status |
84 | 116 |
|
85 | | -[cols="1,1,2"] |
86 | | -|=== |
87 | | -|Language |Status |Notes |
88 | | - |
89 | | -|KRL / Tangle PL |Active — compiler in progress |Grammar defined; AST → IR compiler in development |
90 | | -|Oblíbený |Active — EBNF stable |Formal proofs and BOINC verification planned |
91 | | -|Eclexia |Specified |EBNF finalised; implementation not started |
92 | | -|Betlang |Specified |Compiler not started; Zig recommended |
93 | | -|Phronesis |Active — early |40-line EBNF; IRTF submission planned |
94 | | -|My Language |Active — Solo 60% |Me dialect working; Solo OCaml compiler in progress |
95 | | -|JtV |Design phase |Architecture specified |
96 | | -|=== |
| 117 | +This repository should be read as a *research exploration* rather than a production system. |
| 118 | + |
| 119 | +Some components include: |
| 120 | + |
| 121 | +* formal proofs (e.g. Tangle core) |
| 122 | +* partial compilers and grammars |
| 123 | +* design documents and specifications |
| 124 | + |
| 125 | +== Suggested Entry Points |
| 126 | + |
| 127 | +* `Tangle.lean` — mechanised type safety proof for the Tangle core |
| 128 | +* KRL / Tangle documentation — topological language design |
| 129 | +* JtV documentation — emerging model of computation as path-based construction |
0 commit comments