{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreibhexajuhpyeg5sxjnfrv3rpkq22cttjdjnw4a4ajk7u32dfeddqq",
"uri": "at://did:plc:pi6woz4d47bkuws673w2il2r/app.bsky.feed.post/3mknv6uvn5ju2"
},
"path": "/t/qxfx0-a-typed-dialogue-runtime-in-haskell-with-agda-gf-datalog-and-nix/14002#post_1",
"publishedAt": "2026-04-29T18:58:53.000Z",
"site": "https://discourse.haskell.org",
"tags": [
"GitHub - QxFx0/QxFx0: QxFx0: an alternative approach to text generation via typed semantic routing and GF-based rendering. · GitHub"
],
"textContent": "Hi everyone,\n\nI want to share a small architecture write-up for a project called\nQxFx0.\n\nRepository: GitHub - QxFx0/QxFx0: QxFx0: an alternative approach to text generation via typed semantic routing and GF-based rendering. · GitHub\n\nQxFx0 is a Russian-language dialogue runtime built around typed,\nexplicit pipelines.\nThe goal is not to compete with LLM chat systems, but to explore a\ndifferent engineering approach to text generation.\n\nCurrent stack:\n\n * SQL: canonical source for runtime schema and lexicon seeds.\n * Haskell: main runtime and orchestration layer (routing, state\nupdates, rendering flow, CLI/HTTP).\n * Datalog: relational inference over dialogue facts.\n * Agda: proof-oriented/spec checks for selected invariants.\n * GF: grammar artifacts and runtime mappings for Russian surface\nforms.\n * Nix: reproducible toolchain/environment.\n\n\n\nCurrent flow (simplified):\n\ninput text → Haskell semantic routing → Datalog inference →\npolicy/invariant checks → Haskell AST assembly → GF-backed surface\nrendering\n\nWhat we have today is a working runtime with explicit boundaries\nbetween layers.\nWhat is still difficult is long-term maintenance of cross-language\nboundaries and generated artifacts.\n\nIf anyone has experience with similar pipelines, I would appreciate\npractical feedback, especially on:\n\n 1. AST/IDL versioning across Haskell + Agda + GF/Datalog,\n 2. keeping generated artifacts in sync as schemas evolve,\n 3. testing strategies for boundary contracts in polyglot systems.\n\n\n\nThanks.",
"title": "QxFx0: a typed dialogue runtime in Haskell (with Agda, GF, Datalog, and Nix)"
}