Lightweight Polymorphic Effects

Type-and-effect systems are a well-studied approach for reasoning about the computational behavior of programs. Nevertheless, there is only one example of an effect system that has been adopted in a wide-spread industrial language: Java’s checked exceptions. We believe that the main obstacle to using effect systems in day-to-day programming is their verbosity, especially when writing functions that are polymorphic in the effect of their argument. To overcome this issue, we propose a new syntactically lightweight technique for writing effect-polymorphic functions. We show its independence from a specific kind of side-effect by embedding it into a generic and extensible framework for checking effects of multiple domains. Finally, we verified the expressiveness and practicality of the system by implementing it for the Scala programming language.


Published in:
Proceedings of the 26th European Conference on Object-Oriented Programming
Presented at:
26th European Conference on Object-Oriented Programming, Beijing, China, June 14 - 16, 2012
Year:
2012
Publisher:
Berlin, Heidelberg, Springer-Verlag
Laboratories:




 Record created 2012-02-28, last modified 2018-12-03

n/a:
Download fulltext
PDF

Rate this document:

Rate this document:
1
2
3
 
(Not yet reviewed)