Lightweight Polymorphic Effects
2012 (English)In: ECOOP 2012 – Object-Oriented Programming: 26th European Conference, Beijing, China, June 11-16, 2012. Proceedings, Springer Berlin/Heidelberg, 2012, Vol. 7313, 258-282 p.Conference paper (Refereed)
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 verify the expressiveness and practicality of the system by implementing it for the Scala programming language.
Place, publisher, year, edition, pages
Springer Berlin/Heidelberg, 2012. Vol. 7313, 258-282 p.
, Lecture Notes in Computer Science, ISSN 0302-9743 ; 7313
Effect system, Extensible framework, Multiple domains, Polymorphic effects, Side effect
IdentifiersURN: urn:nbn:se:kth:diva-165619DOI: 10.1007/978-3-642-31057-7_13ScopusID: 2-s2.0-84879707707ISBN: 978-3-642-31056-0ISBN: 978-3-642-31057-7OAI: oai:DiVA.org:kth-165619DiVA: diva2:808696
26th European Conference on Object-Oriented Programming, ECOOP 2012, Beijing, China, 11 June 2012 through 16 June 2012
QC 201504302015-04-292015-04-292015-04-30Bibliographically approved