CatColab (working name) is a collaborative environment for formal, interoperable, conceptual modeling.
Elaborating on these keywords, CatColab aims to be:
- Formal: Models created in the system, be they qualitative or quantitative, are well-defined mathematical objects that can be critiqued with clarity.
- Interoperable: Models, and the logics in which they are expressed, can be flexibly interoperated with each other, without privileging any viewpoint as primary.
- Conceptual: Each domain-specific logic in the system is well adapted to the concepts used by practitioners in that domain.
- Modeling: Constructing a model is a collaborative, ongoing process that does not required participants to have specialized technical expertise.
An early demo is available at https://catcolab.org.
Warning
CatColab is a pre-alpha software under active development. You are welcome to experiment but you should not store any important or sensitive data in the system.
The staging deployment, synced to the main
branch, is available at
https://next.catcolab.org. Documentation for developers is browsable at
https://next.catcolab.org/dev/.
CatColab is written in a mix of Rust and TypeScript. To build it locally, first install Rust (say by using rustup) and install npm (say by using nvm), then clone the repository and run
> npm install
> npm run build
> npm run dev
Finally, navigate your browser to the URL provided by Vite.
As the name suggests, CatColab is based on mathematical ideas from category theory. It is a specific design goal that the system be usable without any knowledge of such ideas. Still, for those curious about the underlying mathematics, here are a few pointers for further reading.
CatColab is an editor for categorical structures and their morphisms and higher morphisms. The meta-logical framework organizing these categorical structures is based on double category theory. More precisely, the domain-specific logics in CatColab are defined by double theories, and the models in CatColab are models of double theories.
The library of domain-specific logics in CatColab, available now and to grow over time, is inspired by a wide body of research in applied category theory and beyond. Incomplete bibliographies are in the dev docs and the core docs.