NeSyCat · Diagrams editor · v0.x

Draw string diagrams. Compile to Haskell.

A web editor for category-theoretic string diagrams. Compose shapes, wire their points, and round-trip the whole diagram as JSON — the visible surface of the NeSyCat toolkit for neuro-symbolic research.

Read the paper GitHub
no install · runs in browser · JSON-in / JSON-out
Loading preview…
§ 1 Motivation

Domain theory, drawn.

NeSyCat — Neuro-Symbolic Category — sits at the intersection of category theory, deep learning, and formal logic. Researchers already think in string diagrams. The editor just gives those diagrams a live canvas and a JSON spine so they can feed a codegen pipeline.

The tool is deliberately narrow: four shape primitives, one empty carrier, two edge modes, no chrome beyond Kinds and JSON. The canvas is the product.

§ 2 Features

Everything you need; nothing you don't.

01
Shape primitives
Rectangle, triangle, circle, rhombus, and the empty carrier. Each shape has addressable points — total, side, and slot.
02
Point wiring
Connect any point to any point. Lines carry names; edge labels render on solid dark capsules so math reads clean.
03
JSON round-trip
Export, import, diff. Diagrams are pure data — versionable in git, reviewable in a PR, scriptable in Python.
04
Haskell codegen
On the roadmap. Pipe diagrams into the NeSyCat/HaskTorch bindings and compile a presheaf straight to runnable code.
§ 3 Examples

Diagrams from the field.

Three samples shipped with the repo. Click any to open in the editor.
Browse all examples
Loading preview…
CSG composition
CSG.json
Cube ∩ Sphere, composed via Rotate and Scale morphisms.
Loading preview…
Entity relations
DatabaseVorlesung2.json
A Student/Course/attends schema — the classic ER triangle.
Loading preview…
Aristotelian logic
aristotLOGIK.json
Syllogistic premises P, Q wired through an implication node.
Live previews · drag to pan · scroll to zoom
§ 4 Roadmap

Where this is going.

Now
Shapes + points + lines
JSON round-trip
Kinds toggles
Selection glow
Next
Auto-layout (dagre)
Copy-dots · Ω-nodes
Logic palette: ∧ ∨ ¬ ⇒ ⊕ ⊗
Later
Haskell codegen
HaskTorch bindings
Presheaf view
Research
Tarski relations
Kleisli monads
Grammatical theory

Ready to wire your first diagram?

Launches in-browser. Sign in to save your diagrams to your account.

Read docs
§ 5 Cite
// bibtex
@software{nesycat2026,
  title  = {NeSyCat Diagrams},
  author = {NeSyCat contributors},
  year   = {2026},
  url    = {https://github.com/NeSyCat/Diagrams}
}