一句话:提出以 effect quantale 为参数的抽象多态顺序效应系统,并推导出尽可能精确的迭代结构。
效应系统能以较低开发者负担验证多种性质,但已有的一般理解多局限于效应顺序无关的半格模型;顺序效应系统中效应顺序重要,却缺乏统一的代数结构。本文提出由 effect quantale 参数化的抽象多态效应系统,定义该结构并推导其性质,表明它能干净地建模多种已知顺序效应系统。作者进一步给出诱导的顺序效应迭代概念,证明对多数 effect quantale 而言该迭代与先前手工设计的迭代算子一致,且在定义时尽可能精确。文中还将其与顺序效应系统的范畴语义及 Kleene 代数进行定位,澄清区别并推广迭代构造。
Effect systems are lightweight extensions to type systems that can verify a wide range of important properties with modest developer burden. But our general understanding of effect systems is limited primarily to systems where the order of effects is irrelevant. Understanding such systems in terms of a semilattice of effects grounds understanding of the essential issues and provides guidance when designing new effect systems. By contrast, sequential effect systems—where the order of effects is important—lack an established algebraic structure on effects. We present an abstract polymorphic effect system parameterized by an effect quantale—an algebraic structure with well-defined properties that can model the effects of a range of existing sequential effect systems. We define effect quantales, derive useful properties, and show how they cleanly model a variety of known sequential effect systems. We show that for most effect quantales, there is an induced notion of iterating a sequential effect; that for systems we consider the derived iteration agrees with the manually designed iteration operators in prior work; and that this induced notion of iteration is as precise as possible when defined. We also position effect quantales with respect to work on categorical semantics for sequential effect systems, clarifying the distinctions between these systems and our own in the course of giving a thorough survey of these frameworks. Our derived iteration construct should generalize to these semantic structures, addressing limitations of that work. Finally, we consider the relationship between sequential effects and Kleene Algebras, where the latter may be used as instances of the former.