Affiliation:
1. University of Edinburgh, Edinburgh, Scotland Uk
Abstract
We present a general theory of Gifford-style type and effect annotations, where effect annotations are sets of effects. Generality is achieved by recourse to the theory of algebraic effects, a development of Moggi's monadic theory of computational effects that emphasises the operations causing the effects at hand and their equational theory. The key observation is that annotation effects can be identified with operation symbols. We develop an annotated version of Levy's Call-by-Push-Value language with a kind of computations for every effect set; it can be thought of as a sequential, annotated intermediate language. We develop a range of validated optimisations (i.e., equivalences), generalising many existing ones and adding new ones. We classify these optimisations as structural, algebraic, or abstract: structural optimisations always hold; algebraic ones depend on the effect theory at hand; and abstract ones depend on the global nature of that theory (we give modularly-checkable sufficient conditions for their validity).
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
10 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Efficient compilation of algebraic effect handlers;Proceedings of the ACM on Programming Languages;2021-10-20
2. GATE: Gradual Effect Types;Lecture Notes in Computer Science;2021
3. Effects as sessions, sessions as effects;ACM SIGPLAN Notices;2016-04-08
4. Effects as sessions, sessions as effects;Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages;2016-01-11
5. Effect Systems Revisited—Control-Flow Algebra and Semantics;Semantics, Logics, and Calculi;2015-12-25