KRL is the resolution language for QuandleDB, a knot database. This repository holds the specification and the ABI surface; the parser and evaluator live in QuandleDB. That split is the single most important fact about this repository’s topology, and it is the source of most of its current problems.
| Project | Repository | Relationship to KRL |
|---|---|---|
QuandleDB |
|
Hosts the KRL implementation
( |
KRL |
|
Normative specification, Idris2 ABI, Zig FFI, examples. |
Tangle |
|
Separate project. A general language for knot mathematics. Shares the subject matter; there is no compilation or dependency relationship in either direction. |
There is no KRL → TangleIR → Tangle pipeline. Earlier documentation
in both this repository and tangle described one; it does not exist,
and TangleIR appears nowhere in the KRL implementation.
| Component | Language | Location | Purpose |
|---|---|---|---|
Grammar specification |
EBNF |
|
Normative surface syntax (contested — see below) |
ABI declarations |
Idris2 |
|
4 |
FFI shim |
Zig |
|
11 |
Examples |
KRL |
|
4 programs, lexically checked against the grammar |
Smoke suite |
Bash |
|
20 lexical conformance checks |
Parser / evaluator |
Julia |
|
Lexer, parser, AST, evaluator, SQL front end |
spec/grammar.ebnf ──(normative, 114 lines, braid algebra)
│
✗ no conformance suite — nothing checks this link
│
quandledb/spec/grammar.ebnf ──(402 lines, pipeline syntax)
│
└──> quandledb/server/krl/ (3,035 lines Julia + 1,732 lines tests)
The two grammar documents are disjoint on core vocabulary, and | is
bound to opposite meanings in them — tensor product here, pipeline
separator there. Only the second is implemented. Closing this seam with
a reconciled specification and an executable conformance suite is the
primary outstanding work; see READINESS.md.
Idris2 src/interface/Abi/{Types,Layout,Foreign}.idr
│ %foreign declarations (4)
▼
C ABI ─────────────────────────────────────────
▲
│ export fn (11)
Zig src/interface/ffi/src/main.zig ──> libkrl.a
tests/aspect_tests.sh enforces that every %foreign declaration
is covered by a Zig export.
-
Upstream:
hyperpolymath/standards(shared reusable workflows, CRG), Hypatia (neurosymbolic CI scan), eclexiaiser (resource scoring). -
Downstream: QuandleDB consumes the specification. Nothing else depends on this repository.
This repository ships no runtime service. Its outputs are the
specification, libkrl.a, and the published documentation site
(Ddraig SSG → GitHub Pages).
-
CI/CD: GitHub Actions — E2E/aspect/smoke/FFI gates, governance, secret scanning, CodeQL, Hypatia.
-
Service discovery: none. There is no
.well-known/groove/manifest.json, because this repository exposes no service. Thegroove-checkjob treats absence as a pass for exactly this case..well-known/carriessecurity.txt,humans.txtandai.txtonly.