Skip to content

AlgebraicJulia/GATlab.jl

Repository files navigation

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

About

GATlab: a computer algebra system based on generalized algebraic theories (GATs)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages