Programming With Effects

Improving the quality of code in IO intensive applications through effect handlers

Bachelor Thesis (2022)
Author(s)

S.L. Streef (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Contributor(s)

Casper Bach – Mentor (TU Delft - Programming Languages)

C.R. van der Rest – Mentor (TU Delft - Programming Languages)

J.S. Reinders – Mentor (TU Delft - Programming Languages)

J.W. Böhmer – Graduation committee member (TU Delft - Algorithmics)

Faculty
Electrical Engineering, Mathematics and Computer Science
Copyright
© 2022 Sam Streef
More Info
expand_more
Publication Year
2022
Language
English
Copyright
© 2022 Sam Streef
Graduation Date
22-06-2022
Awarding Institution
Delft University of Technology
Project
['CSE3000 Research Project']
Programme
['Computer Science and Engineering']
Faculty
Electrical Engineering, Mathematics and Computer Science
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Effect handler orient programming (EHOP) is a recently proposed programming paradigm that aims to provide a high-level abstraction in code. Using this paradigm, programmers are able to define operations as an effect, which are implemented by an effect handler. Functions can then use effects, allowing the effect operations to be used in this function. Depending on the effect handler that handles the effect, an effect can have different functionality. In this research, EHOP is compared to the traditional functional programming paradigm on readability, maintainability, modularity and performance for IO intensive applications. The comparison is carried out by two programming experiments that each apply one of the programming paradigms to create an HTTP server. The comparison of these programs show that EHOP improves the readability, maintainability and modularity but decreases the performance in response time and memory. The conclusion of this case study is therefore that EHOP affects IO intensive applications in a negative manner due to its performance overhead.

Files

License info not available