Who's afraid of Object Algebras?

Time: 11:30 - 11:20

Room: Stokerij

Abstract

Extensibility in programming means that you can add features by adding code, without having to modify existing code. For instance, to add a new data variant in OO, you may add a new subclass. Or in functional programming, it's easy to add new operations over a data type. However, the kind of extensibility offered by OO does not work in FP (try adding a constructor), and vice versa (adding an operation over a family of classes). This deep and inherent trade-off has become known as the "expression problem". Object algebras are a new and simple solution to the expression problem which works in mainstream programming languages such as Java, C#, Dart, and Scala. In this session I'll introduce the expression problem in some depth, and show how the object algebra style of programming is a solution to it.

Tijs van der Storm

Tijs van der Storm is researcher at the Dutch national institute for computer science and mathematics (CWI) and teaches Software Construction at the University of Amsterdam. His research interests are domain-specific languages, language workbenches, and programming language design. He is one of the designers of the meta-programming language Rascal and core developer of the Ensō programming framework. Apart from that, he likes literature and hates ugly code.