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.
翻译:在近期的工作中,我们引入了对称单相向类别中稳妥度的不言而喻的概念,作为来自程序语义、过程代数等外等各种实例的统一框架。在本文件中,我们提出一种通用的代言词,用于稳妥迭代,其依据是将这一概念与细微求偶模式相结合,我们打算将其作为一种统一的编程语言,用于在计算效果面前进行稳妥和无防范的迭代。我们用该语言的通用(分类)语义来取代支持稳妥迭代的适当类型的坚固棉条,并表明它与迭代的标准操作行为相适应,具体地为某特定代言语提供大步操作语语义,并为本案确立稳健性和(可理解性)充分性。