Cation Language
Cation is a modern general-purpose programming language made with category theory in mind. It is purely functional and uses statical and strong generalized algebraic data types known as strict types.
The language design and compiler is a work in progress. The compiler will compile the code into LLVM and AluVM targets, and a special cross-compiler from Cation to Rust will be available.
Features
- The (first) categorical programming language with notations close to mathematics
- Termination analysis, generalized algebraic data types and formal verification
- Easy to read and fun to program, avoid visual clutter and boilerplate
Learn more
Learn cation from docs, examples or language reference.
Language Overview
Check the language features and get a first impression of the language.
Language Design
Read more on language design in the documentation.
Category Theory
Understand the language in the terms of Category Theory.
Language Reference
Reference contains a list of Cation keywords and statements.
Code Examples
See how Cation code looks like in most typical tasks.
Try Yourself
See the language in action by trying to compile the code.
Cation is a work in progress project. Its development is lead by Dr Maxim Orlovsky at UBIDECO Labs, Institute of Deterministic and Cognitive Systems, Lugano, Switzerland with a broad participation of community.