🤖 AI Summary
This paper addresses the categorical semantics of guarded iteration in call-by-value languages. The core problem is modeling guardedness—not as an external predicate, but as an intrinsic structural feature of the semantic domain. Methodologically, the paper introduces parametrized monads (in the sense of Uustalu) within symmetric monoidal categories to model effectful guarded function spaces, and constructs a fully abstract categorical semantics by combining Freyd categories with strong monads. This yields the first complete categorical characterization of guarded iteration under call-by-value evaluation, unifying the semantics of guarded iteration and effectful function spaces. The framework extends the Levy–Power–Thielecke model, providing an intrinsic, constructive foundation for effectful controlled recursion and looping. It enables precise reasoning about termination-sensitive, effectful iterative constructs while preserving the operational distinctions inherent to call-by-value computation.
📝 Abstract
Like the notion of computation via (strong) monads serves to classify various flavours of impurity, including exceptions, non-determinism, probability, local and global store, the notion of guardedness classifies well-behavedness of cycles in various settings. In its most general form, the guardedness discipline applies to general symmetric monoidal categories and further specializes to Cartesian and co-Cartesian categories, where it governs guarded recursion and guarded iteration respectively. Here, even more specifically, we deal with the semantics of call-by-value guarded iteration. It was shown by Levy, Power and Thielecke that call-by-value languages can be generally interpreted in Freyd categories, but in order to represent effectful function spaces, such a category must canonically arise from a strong monad. We generalize this fact by showing that representing guarded effectful function spaces calls for certain parametrized monads (in the sense of Uustalu). This provides a description of guardedness as an intrinsic categorical property of programs, complementing the existing description of guardedness as a predicate on a category.