Skip to content

Commit 065f17c

Browse files
committed
docs: add TOPOLOGY.md
1 parent ddd9c52 commit 065f17c

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

TOPOLOGY.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
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+
# TOPOLOGY.md — a2ml-haskell
4+
5+
## Purpose
6+
7+
Haskell implementation of the A2ML (Attested Markup Language) parser and renderer. Provides strongly-typed parsing via Haskell's algebraic data types with full parse-render round-trip fidelity. Targets use in template validators, Scaffoldia, and type-heavy tooling.
8+
9+
## Module Map
10+
11+
```
12+
a2ml-haskell/
13+
├── src/
14+
│ ├── Data/ # A2ML AST data types
15+
│ ├── interface/ # Public-facing API surface
16+
│ └── (core, errors, aspects)
17+
├── bench/ # Benchmarks
18+
├── examples/ # Usage examples
19+
├── a2ml-haskell.cabal # Cabal build config
20+
└── container/ # Containerfile for CI
21+
```
22+
23+
## Data Flow
24+
25+
```
26+
[A2ML text] ──► [Parser] ──► [Haskell ADT AST] ──► [Renderer] ──► [A2ML text]
27+
```

0 commit comments

Comments
 (0)