GATlab.jl
GATlab.jl copied to clipboard
GATlab: a computer algebra system based on generalized algebraic theories (GATs)
GATlab
A collection of tools that one can use to reason with GATs and organize models of GATs.
Features
- Declaration of GATs
- Multiple inheritance of GATs via pushouts
- Parameterized models of GATs ala Standard ML modules/functors
- E-Graph backed rewriting and type inference in arbitrary GATs
- Backwards compatibility with the Catlab implementation of GATs
Further reading
The design and essential features of GATlab are described in our paper:
O. Lynch, K. Brown, J. Fairbanks, E. Patterson, 2024: "GATlab: Modeling and Programming with Generalized Algebraic Theories" arXiv:2404.04837