GATlab: Modeling and Programming with Generalized Algebraic Theories

Categories and categorical structures are increasingly recognized as useful abstractions for modeling in science and engineering. To uniformly implement category-theoretic mathematical models in software, we introduce GATlab, a domain-specific language for algebraic specification embedded in a technical programming language. GATlab is based on generalized algebraic theories (GATs), a logical system extending algebraic theories with dependent types so as to encompass category theory. Using GATlab, the programmer can specify generalized algebraic theories and their models, including both free models, based on symbolic expressions, and computational models, defined by arbitrary code in the host language. Moreover, the programmer can define maps between theories and use them to declaratively migrate models of one theory to models of another. In short, GATlab aims to provide a unified environment for both computer algebra and software interface design with generalized algebraic theories. In this paper, we describe the design, implementation, and applications of GATlab. Comment: 14 pages plus references and appendix. To appear at MFPS 2024

Authors

Publication Details

Journal
Electronic Notes in Theoretical Informatics and Computer Science
Published
2024-12-11
DOI
https://doi.org/10.46298/entics.14666
Citations
1
Primary Topic
Model-Driven Software Engineering Techniques
Type
article
Field-Weighted Citation Impact
0.49
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

GATlab: Modeling and Programming with Generalized Algebraic Theories

Owen Lynch, Evan Patterson, James Fairbanks, Kris Brown
1 citations
Electronic Notes in Theoretical Informatics and Computer Science
Model-Driven Software Engineering Techniques
0.49
article

GATlab: Modeling and Programming with Generalized Algebraic Theories

Owen Lynch, Evan Patterson, James Fairbanks, Kris Brown
article en
1 citations

Abstract

Categories and categorical structures are increasingly recognized as useful abstractions for modeling in science and engineering. To uniformly implement category-theoretic mathematical models in software, we introduce GATlab, a domain-specific language for algebraic specification embedded in a technical programming language. GATlab is based on generalized algebraic theories (GATs), a logical system extending algebraic theories with dependent types so as to encompass category theory. Using GATlab, the programmer can specify generalized algebraic theories and their models, including both free models, based on symbolic expressions, and computational models, defined by arbitrary code in the host language. Moreover, the programmer can define maps between theories and use them to declaratively migrate models of one theory to models of another. In short, GATlab aims to provide a unified environment for both computer algebra and software interface design with generalized algebraic theories. In this paper, we describe the design, implementation, and applications of GATlab. Comment: 14 pages plus references and appendix. To appear at MFPS 2024

Electronic Notes in Theoretical Informatics and Computer ScienceVol. Volume 4 - Proceedings of...
Openalex Percentile: Top 28%
Model-Driven Software Engineering Techniques
0.49
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.