Author:
BAÑADOS SCHWERTER FELIPE,GARCIA RONALD,TANTER ÉRIC
Abstract
AbstractEffect systems have the potential to help software developers, but their practical adoption has been very limited. We conjecture that this limited adoption is due in part to the difficulty of transitioning from a system where effects are implicit and unrestricted to a system with a static effect discipline, which must settle for conservative checking in order to be decidable. To address this hindrance, we develop a theory of gradual effect checking, which makes it possible to incrementally annotate and statically check effects, while still rejecting statically inconsistent programs. We extend the generic type-and-effect framework of Marino and Millstein with a notion of unknown effects, which turns out to be significantly more subtle than unknown types in traditional gradual typing. We appeal to abstract interpretation to develop and validate the concepts of gradual effect checking. We also demonstrate how an effect system formulated in the framework of Marino and Millstein can be automatically extended to support gradual checking. We use gradual effect checking to develop a fully gradual type-and-effect framework, which permits interaction between static and dynamic checking for both effects and types.
Publisher
Cambridge University Press (CUP)
Reference31 articles.
1. Disney T. & Flanagan C. (2011) Gradual information flow typing. In International Workshop on Scripts to Programs (STOP 2011), Co-Located with POPL 2011. Url: https://users.soe.ucsc.edu/~cormac/papers/stop11.pdf.
2. Rytz L. , Odersky M. & Haller P. (2012) Lightweight polymorphic effects. In Proceedings of the 26th European Conference on Object-oriented Programming (ECOOP 2012). Berlin, Germany: Springer-Verlag, pp. 258–282.
3. Takikawa A. , Strickland T. S. , Dimoulas C. , Tobin-Hochstadt S. & Felleisen M. (2012) Gradual typing for first-class classes. In Proceedings of the 27th ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2012). New York, NY, USA: ACM Press, pp. 793–810.
4. Rytz L. , Amin N. & Odersky M. (2013) A flow-insensitive, modular effect system for purity. In Proceedings of the 15th Workshop on Formal Techniques for Java-like Programs. New York, NY, USA: ACM Press, pp. 4:1–4:7.
Cited by
18 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Static Blame for gradual typing;Journal of Functional Programming;2024
2. A Gradual Probabilistic Lambda Calculus;Proceedings of the ACM on Programming Languages;2023-04-06
3. Gradual System F;Journal of the ACM;2022-10-28
4. Gradualizing the Calculus of Inductive Constructions;ACM Transactions on Programming Languages and Systems;2022-04-06
5. Gradually structured data;Proceedings of the ACM on Programming Languages;2021-10-20