# Polymorphic Iterable Sequential Effect Systems

@article{Gordon2021PolymorphicIS, title={Polymorphic Iterable Sequential Effect Systems}, author={Colin S. Gordon}, journal={ACM Transactions on Programming Languages and Systems (TOPLAS)}, year={2021}, volume={43}, pages={1 - 79} }

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…

## 3 Citations

Lifting Sequential Effects to Control Operators

- Computer ScienceECOOP
- 2020

While the authors now understand the essential denotational (categorical) models fairly well, application of these ideas to real software is hampered by the variety of source level control flow constructs and control operators in real software.

Reachability types: tracking aliasing and separation in higher-order functional programs

- Computer ScienceProc. ACM Program. Lang.
- 2021

A new type system is presented, λ* , which enables expressive ownership-style reasoning across higher-order functions and extends the type system with an expressive flow-sensitive effect system, which enables flavors of move semantics and ownership transfer.

A survey on network forwarding in Software-Defined Networking

- Computer ScienceJ. Netw. Comput. Appl.
- 2021

## References

SHOWING 1-10 OF 102 REFERENCES

A Generic Approach to Flow-Sensitive Polymorphic Effects

- MathematicsECOOP
- 2017

It is shown that effect quantales provide a free, general notion of iterating a sequential effect, and that for systems the authors consider the derived iteration agrees with the manually designed iteration operators in prior work, which provides guidance on non-obvious points of designing order-sensitive effect systems.

The sequential semantics of producer effect systems

- Computer SciencePOPL
- 2013

This paper presents its semantic formalization for producer effect systems, which it is called a productor, and proves its maximal generality by focusing on only sequential composition of effectful computations, consequently guaranteeing that the existing monadic techniques are specializations of productors.

Polymorphic effect systems

- Computer SciencePOPL '88
- 1988

The effect system the authors describe performs certain kinds of side-effect analysis that were not previously feasible and can be used effectively to compile programs for parallel computers.

A theory of gradual effect systems

- Computer ScienceICFP 2014
- 2014

A theory of gradual effect checking is developed, which makes it possible to incrementally annotate and statically check effects, while still rejecting statically inconsistent programs.

Customizable gradual polymorphic effects for Scala

- Computer ScienceOOPSLA
- 2015

The first implementation of gradual effect checking, for Scala, is presented, which supports both effect polymorphism and a domain-specific language called Effscript to declaratively define and customize effect disciplines.

Effect Systems Revisited - Control-Flow Algebra and Semantics

- Computer ScienceSemantics, Logics, and Calculi
- 2016

This work identifies a form of graded joinads as the appropriate structure for unifying effect analysis and semantics for a control-flow algebra of effects for effectful programming with sequencing, alternation and parallelism.

Types and trace effects of higher order programs

- Computer ScienceJ. Funct. Program.
- 2008

A type safety result is proven for both unification and subtyping constraint versions of the type system, ensuring that statically well-typed programs do not contain trace event checks that can fail at run-time.

Deterministic parallelism via liquid effects

- Computer SciencePLDI
- 2012

This work presents Liquid Effects, a type-and-effect system based on refinement types which allows for fine-grained, low-level, shared memory multi-threading while statically guaranteeing that a program is deterministic and implemented in CSOLVE, a refinement type inference system for C programs.

A type and effect system for deterministic parallel Java

- Computer ScienceOOPSLA '09
- 2009

It is demonstrated that a practical type and effect system can simplify parallel programming by guaranteeing deterministic semantics with modular, compile-time type checking even in a rich, concurrent object-oriented language such as Java.

Effects as sessions, sessions as effects

- Computer SciencePOPL 2016
- 2016

An embedding from PCF is given into a session-typed pi-calculus (session calculus), showing that session types are powerful enough to express effects and a reverse embedding is given, from the session calculus back into PCF, by instantiating PCF with concurrency primitives and its effect system with asession-like effect algebra.