Skip to content

Commit fd23763

Browse files
Revise README with project overview and updates
Updated the README to reflect new project details and structure. Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
1 parent cedfc80 commit fd23763

1 file changed

Lines changed: 98 additions & 65 deletions

File tree

README.adoc

Lines changed: 98 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,96 +1,129 @@
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
32

4-
= Next-Generation Languages
5-
Jonathan Jewell (hyperpolymath)
6-
:toc: left
7-
:toc-title: Contents
8-
:doctype: article
9-
:icons: font
3+
== Overview
104

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:
126

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
1414

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:
1816

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.
2127

2228
== Projects
2329

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)
2743

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.
2945

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`)
3449

35-
link:../tangle-pl/README.adoc[→ KRL / Tangle PL documentation]
50+
Status: compiler and tooling in progress; formal core partially verified.
51+
52+
---
3653

3754
=== 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+
---
4166

4267
=== 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+
---
4574

4675
=== 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+
---
4982

5083
=== Phronesis
51-
Ethical DSL for multi-agent systems. 40-line EBNF. IRTF submission planned.
5284

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.
5686

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.
5996

6097
== Common Principles
6198

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`)
66105

67-
== The KRL Stack
106+
== Relationship to Databases
68107

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:
70109

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
80112

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.
82114

83115
== Status
84116

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

Comments
 (0)