Programming Languages and Software Technology

Effekt: Algebraic Effect Handlers

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.

Scala Effekt

Idris Effekt

Java Effekt

Effekt

Participating Team Members

Jonathan Brachthäuser

Philipp Schuster

Klaus Ostermann

Publications

Effect Handlers for the Masses

by Jonathan Brachthäuser, Philipp Schuster, and Klaus Ostermann

In Proc. Int’l Conf. Object-Oriented Programming, Systems, Languages and Applications (OOPSLA). ACM Press, 2018.

Learn More

Typing, Representing, and Abstracting Control: Functional Pearl

by Philipp Schuster and Jonathan Brachthäuser

In Proceedings of the International Workshop on Type-Driven Development. ACM Press, 2018.

Learn More

Towards Naturalistic EDSLs using Algebraic Effects

by Jonathan Immanuel Brachthäuser

In Workshop for Domain Specific Languages, Design and Implementation (DSLDI), 2017.

Learn More

Effekt: Extensible Algebraic Effects in Scala (Short Paper)

by Jonathan Immanuel Brachthäuser and Philipp Schuster

In Proceedings of the International Symposium on Scala. ACM Press, 2017.

Learn More

News

Presentation at OOPSLA 2018

Jonathan Brachthäuser
Researcher
Jonathan Immanuel Brachthäuser
presents the paper Effect Handlers for the Masses at the International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA) in Boston, MA, USA.

Read more ...

Presentation at Type-Driven Development 2018

Philipp Schuster
Researcher
Philipp Schuster
presents the functional pearl Typing, Representing, and Abstracting Control at Type-Driven Development 2018.

Read more ...

Dagstuhl Seminar on Domain-Specific Languages

Jonathan Brachthäuser
Researcher
Jonathan Immanuel Brachthäuser
attends the Dagstuhl-Seminar on “Algebraic Effect Handlers go Mainstream” from April 22 to 27, 2018.

Read more ...

Presentation at the Scala Symposium 2017

Jonathan Brachthäuser
Researcher
Jonathan Immanuel Brachthäuser
presents the paper Effekt: Extensible Algebraic Effects in Scala at the Scala Symposium 2017.

Read more ...

Presentation at DSLDI 2017

Jonathan Brachthäuser
Researcher
Jonathan Immanuel Brachthäuser
talks about Towards Naturalistic EDSLs using Algebraic Effects at the Workshop for Domain Specific Languages, Design and Implementation (DSLDI) 2017.

Read more ...

Open Thesis Topics

Implementing the language server protocol for Koka

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.

Read more ...