Abstract
In previous work ("From signatures to monads in UniMath"),we described a category-theoretic construction of abstract syntax from a signature, mechanized in the UniMath library based on the Coq proof assistant.
In the present work, we describe what was necessary to generalize that work to account for simply-typed languages. First, some definitions had to be generalized to account for the natural appearance of non-endofunctors in the simply-typed case. As it turns out, in many cases our mechanized results carried over to the generalized definitions without any code change. Second, an existing mechanized library on 휔-cocontinuous functors had to be extended by constructions and theorems necessary for constructing multi-sorted syntax. Third, the theoretical framework for the semantical signatures had to be generalized from a monoidal to a bicategorical setting, again to account for non-endofunctors arising in the typed case. This uses actions of endofunctors on functors with given source, and the corresponding notion of strong functors between actions, all formalized in UniMath using a recently developed library of bicategory theory. We explain what needed to be done to plug all of these ingredients together, modularly.
The main result of our work is a general construction that, when fed with a signature for a simply-typed language, returns an implementation of that language together with suitable boilerplate code, in particular, a certified monadic substitution operation.
In the present work, we describe what was necessary to generalize that work to account for simply-typed languages. First, some definitions had to be generalized to account for the natural appearance of non-endofunctors in the simply-typed case. As it turns out, in many cases our mechanized results carried over to the generalized definitions without any code change. Second, an existing mechanized library on 휔-cocontinuous functors had to be extended by constructions and theorems necessary for constructing multi-sorted syntax. Third, the theoretical framework for the semantical signatures had to be generalized from a monoidal to a bicategorical setting, again to account for non-endofunctors arising in the typed case. This uses actions of endofunctors on functors with given source, and the corresponding notion of strong functors between actions, all formalized in UniMath using a recently developed library of bicategory theory. We explain what needed to be done to plug all of these ingredients together, modularly.
The main result of our work is a general construction that, when fed with a signature for a simply-typed language, returns an implementation of that language together with suitable boilerplate code, in particular, a certified monadic substitution operation.
| Original language | English |
|---|---|
| Title of host publication | CPP 2022 |
| Subtitle of host publication | Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs |
| Place of Publication | New York |
| Publisher | Association for Computing Machinery (ACM) |
| Pages | 307-323 |
| Number of pages | 17 |
| ISBN (Print) | 978-1-4503-9182-5 |
| DOIs | |
| Publication status | Published - 2022 |
| Event | 11th ACM SIGPLAN International Conference on Certified Programs and Proofs (CPP ’22) - Virtual at Philadelphia, United States Duration: 17 Jan 2022 → 18 Jan 2022 Conference number: 11th |
Conference
| Conference | 11th ACM SIGPLAN International Conference on Certified Programs and Proofs (CPP ’22) |
|---|---|
| Abbreviated title | CPP 2022 |
| Country/Territory | United States |
| City | Virtual at Philadelphia |
| Period | 17/01/22 → 18/01/22 |
Fingerprint
Dive into the research topics of 'Implementing a Category-Theoretic Framework for Typed Abstract Syntax'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver