Towards Efficient Adjustment of Effect Rows

0Citations
Citations of this article
1Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Koka is a functional programming language with native support for algebraic effects and handlers. To implement effect handler operations efficiently, Koka employs a semantics where the handlers in scope are passed down to each function as an evidence vector. At runtime, these evidence vectors are adjusted using the open constructs to match the evidence for a particular function. All these adjustments can cause significant runtime overhead. In this paper, we present a novel transformation on the Koka core calculus that we call open floating. This transformation aims to float up open constructs and combine them in order to minimize the adjustments needed at runtime. Open floating improves performance by 2.5 $$\times $$ in an experiment. Furthermore, we formalize an aspect of row-based effect typing, including the closed prefix relation on effect rows, which clarifies the constraint on open floating.

Cite

CITATION STYLE

APA

Furudono, N., Cong, Y., Masuhara, H., & Leijen, D. (2022). Towards Efficient Adjustment of Effect Rows. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 13401 LNCS, pp. 169–191). Springer Science and Business Media Deutschland GmbH. https://doi.org/10.1007/978-3-031-21314-4_9

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free