Skip to content

Commit 41068ee

Browse files
committed
docs: add TOPOLOGY.md
1 parent d55a474 commit 41068ee

1 file changed

Lines changed: 39 additions & 0 deletions

File tree

TOPOLOGY.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
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> -->
3+
4+
# TOPOLOGY.md — tangle
5+
6+
## Purpose
7+
8+
TANGLE is a Turing-complete topological programming language where programs are represented as tangles—isotopy classes of braided strands in 3D space. Computation proceeds via strand braiding with interactions at crossings, leveraging deep connections between topology, algebra, and computation. Knot invariants (Jones polynomial) enable novel reasoning about program equivalence.
9+
10+
## Module Map
11+
12+
```
13+
tangle/
14+
├── src/ # Core language implementation
15+
│ ├── parser/ # Tangle source parser
16+
│ ├── topology/ # Topological representation
17+
│ ├── invariants/ # Knot invariant computation
18+
│ ├── evaluator/ # Execution engine
19+
│ └── backend/ # Code generation
20+
├── examples/ # Example Tangle programs
21+
├── tests/ # Language conformance tests
22+
└── docs/ # Language specification
23+
```
24+
25+
## Data Flow
26+
27+
```
28+
[Tangle Source] ──► [Parser] ──► [Topological Representation] ──► [Invariant Extraction]
29+
30+
[Braiding Evaluation] ──► [Computation Result]
31+
```
32+
33+
## Key Concepts
34+
35+
- **Strands**: Data-carrying topological objects
36+
- **Crossings**: Interaction points where strands compute
37+
- **Braiding**: Control flow via strand arrangement
38+
- **Knot Invariants**: Jones polynomial for program analysis
39+
- **Isotopy Classes**: Equivalent programs have same invariants

0 commit comments

Comments
 (0)