Representing Guardedness in Call-by-Value and Guarded Parametrized Monads
<|reference_start|>Representing Guardedness in Call-by-Value and Guarded Parametrized Monads: 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.<|reference_end|>
@article{goncharov2024representing,
    title={Representing Guardedness in Call-by-Value and Guarded Parametrized
  Monads},
    author={Sergey Goncharov},
    journal={arXiv preprint arXiv:2403.00704},
    year={2024},
    archivePrefix={arXiv},
    eprint={2403.00704},
    primaryClass={cs.LO}
}