The focus of this project is to integrate the programming abstraction
of effect handlers into existing object oriented programming
languages and explore the interaction with other modularity features.
We also investigate various implementation techniques and their
impact on performance.
The Effekt Language Family
We designed and implemented various languages with support for
effect handlers and delimited control. Each language explores a
different aspect of the design space.
The Language Server Protocol (LSP) defines a protocol used between an editor or IDE and a language server that provides language features like auto complete, go to definition, find all references etc.
The Language Server Protocol has to be implemented once for every programming language and once for every editor, instead of once for every combination of programming language and editor, thus reducing a m x n problem to a m + n problem.