KRL (Knot Resolution Language, pronounced "curl") is the resolution language for QuandleDB — a database whose stored objects are knots and tangles, and whose identity relation is equivalence under ambient isotopy.
KRL provides four operation families: construct, transform, resolve, retrieve. This repository holds its normative specification; the implementation lives in QuandleDB.
Before you begin, ensure you have:
-
just — task runner (install guide)
-
Julia 1.12+ — for running conformance tests (optional, requires QuandleDB)
-
Zig 0.16.0+ — for building FFI (optional)
If something isn’t working:
just doctorThis checks all dependencies, permissions, paths, and connectivity.
-
In-app:
just help-me -
Guided tour:
just tour -
Grammar: grammar.ebnf
-
Surfaces: SURFACES.adoc
-
Report a problem: https://github.com/hyperpolymath/krl/issues