Abstract
Notions of guardedness serve to delineate admissible recursive definitions in various settings in a compositional manner. In recent work, we have introduced an axiomatic notion of guardedness in symmetric monoidal categories, which serves as a unifying framework for various examples from program semantics, process algebra, and beyond. In the present paper, we propose a generic metalanguage for guarded iteration based on combining this notion with the fine-grain call-by-value paradigm, which we intend as a unifying programming language for guarded and unguarded iteration in the presence of computational effects. We give a generic (categorical) semantics of this language over a suitable class of strong monads supporting guarded iteration, and show it to be in touch with the standard operational behaviour of iteration by giving a concrete big-step operational semantics for a certain specific instance of the metalanguage and establishing soundness and (computational) adequacy for this case.
Original language | English |
---|---|
Pages (from-to) | 111-137 |
Number of pages | 27 |
Journal | Theoretical Computer Science |
Volume | 880 |
Early online date | 24 Apr 2021 |
DOIs | |
Publication status | Published - 3 Aug 2021 |
Bibliographical note
Publisher Copyright:© 2021 Elsevier B.V.
Keywords
- Computational adequacy
- Computational monads
- Guarded iteration
- Metalanguage
ASJC Scopus subject areas
- Theoretical Computer Science
- General Computer Science