Algebraic Effects, Ownership, and Borrowing
Introduction
Algebraic Effects are a useful abstraction
for reasoning about effectful programs by letting us leave the interpretation
of these effects to callers. However, most existing literature discusses these
in the context of a pure functional language with pervasive sharing of values.
What restrictions would we need to introduce algebraic effects into a language
with ownership and borrowing - particularly Ante?1
Consider the following program:
effect Read a with
read : Unit -> a
the_value ...
Read more at antelang.org