Philipp Schuster, M.Sc.

Researcher

Photo of Philipp Schuster

Philipp Schuster
Software Engineering
FB Informatik
Universität Tübingen
Sand 13
72076 Tübingen
Germany

E-Mail
philipp.schuster(at)uni-tuebingen.de
Office
B213
Office hours
by appointment

Publications on Google Scholar Publications on DBLP

Publications

Other Publications

  • Effects, Capabilities, and Boxes: From Scope-based Reasoning to Type-based Reasoning and Back

    by Jonathan Immanuel Brachthäuser, Philipp Schuster, Edward Lee, and Aleksander Boruch-Gruszecki

    In Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2022.

  • Region-based Resource Management and Lexical Exception Handlers in Continuation-Passing Style

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

    In European Symposium on Programming (ESOP 2022), 2022.

  • A Typed Continuation-Passing Translation for Lexical Effect Handlers

    by Philipp Schuster, Jonathan Immanuel Brachthäuser, Marius Müller, and Klaus Ostermann

    In Proceedings of the International Conference on Programming Language Design and Implementation (PLDI), 2022.

Other Publications

  • Back to Direct Style: Typed and Tight

    by Marius Müller, Philipp Schuster, Jonathan Immanuel Brachthäuser, and Klaus Ostermann

    In Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2023.

  • From Capabilities to Regions: Enabling Efficient Compilation of Lexical Effect Handlers

    by Marius Müller, Philipp Schuster, Jonathan Lindegaard Starup, Klaus Ostermann, and Jonathan Immanuel Brachthäuser

    In Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2023.

  • With or Without You: Programming with Effect Exclusion

    by Matthew Lutze, Magnus Madsen, Jonathan Immanuel Brachthäuser, and Philipp Schuster

    In Proceedings of the International Conference on Functional Programming (ICFP). ACM Press, 2023.

Other Publications

  • All About That Stack: A Unified Treatment of Regions and Control Effects

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

    Technical report. University of Tübingen, Germany, 2021.

Other Publications

  • Effekt: Capability-Passing Style for Type- and Effect-Safe, Extensible Effect Handlers in Scala

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

    In Journal of Functional Programming 30: , 2020.

  • Compiling Effect Handlers in Capability-Passing Style

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

    In Proceedings of the International Conference on Functional Programming (ICFP). ACM Press, 2020.

  • Effect Handlers, Evidently

    by Ningning Xie, Jonathan Immanuel Brachthäuser, Daniel Hillerström, Philipp Schuster, and Daan Leijen

    In Proceedings of the International Conference on Functional Programming (ICFP). ACM Press, 2020.

  • Effekt: Lightweight Effect Polymorphism for Handlers (Technical Report)

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

    Technical report. University of Tübingen, Germany, 2020.

  • Effects as Capabilities: Effect Handlers and Lightweight Effect Polymorphism

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

    In Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA). ACM Press, 2020.

Other Publications

  • Zero-cost Effect Handlers by Staging (Technical Report)

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

    Technical report. University of Tübingen, Germany, 2019.

Other Publications

Other Publications

  • 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.

Assigned Thesis Topics

Sina Schäfer (BSc)

Probabilistic Effekt

Inference programming - the adaptation of inference algorithms to a particular model or problem - is difficult in languages that do not deal with side effects or do not handle side effects properly, due to their nature of relying on effectful computation. In functional programming, monad transformers are the most common approach to control side effects. However, this makes it difficult to customise such algorithms. Effects and effect handlers on the other hand introduce another possibility to deal with programmable inference. This thesis will demonstrate this idea by developing three inference patterns (Metropolis-Hastings, particle filtering and guided optimisation) using the language Effekt. The result is a more user-friendly way to adapt and combine parts of these algorithms.

Read more ...
Dennis Hieber (MSc)

Multiple Return Values in Effekt

Multiple return values in functions have long been regarded as a powerful feature in programming languages, enabling concise and expressive code. However, not all programming languages support this feature natively. Instead, most languages emulate multiple return values only via tuples. In the case of dynamically typed languages like Common Lisp multiple return values are supported but the dynamic handling may cause headaches: (type-of (values x y z)) is the same as (type-of x). This master thesis delves into designing and implementing multiple return values in the Effekt language. The thesis introduces native support for multiple return values in Effekt, exploring their significance and potential impact on software development.

Read more ...
Maximilian Marschall (BSc)

Is Effekt Fast Yet

Benchmark Effekt based on the “Are we fast yet?” paper.

Read more ...

Finished Thesis Topics

Serkan Muhcu (MSc)

Mutable State in a Language with Effect Handlers

Effekt is a functional programming language developed for research on algebraic effects and handlers. Aside from algebraic handlers, Effekt also features side effects in form of mutable state using region-based memory management. The Effekt compiler has multiple backends, one of which targets the LLVM Intermediate Representation. The LLVM-IR can be compiled to an executable file with many optimization passes on the way. The LLVM backend of Effekt covers only a subset of Effekt’s features. As part of this thesis, we extend the LLVM backend by support for mutable state.

Read more ...
Franciszek Piszcz (MSc)

Abstract-Interpretation-Based Language Server for Python

Most IDEs for Python development follow traditional code analysis approaches that are known to work well for statically-typed languages such as Java or C++. A lot of modern Python code is untyped, and these conservative tools tend to assign the “Any” type for variables that do not have explicit type annotations. However, programmers are usually able to deduce types (and often concrete values) by looking at surrounding code and jumping through function definitions and call sites.

Read more ...

News

Paper accepted for publication at OOPSLA 2023

Our paper “From Capabilities to Regions: Enabling Efficient Compilation of Lexical Effect Handlers” (Marius Müller, Philipp Schuster
Researcher
Philipp Schuster
, Jonathan Lindegaard Starup, and Klaus Ostermann, Jonathan Brachthäuser
Head of the SE research group
Jonathan Immanuel Brachthäuser
) has been accepted for publication at the International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2023).

Read more ...

Paper accepted for publication at OOPSLA 2023

Our paper “Continuation-Passing to Direct Style: Typed and Tight” (Marius Müller, Philipp Schuster
Researcher
Philipp Schuster
, Jonathan Brachthäuser
Head of the SE research group
Jonathan Immanuel Brachthäuser
, and Klaus Ostermann) has been accepted for publication at the International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2023).

Read more ...