Programming Languages

Dr. Jonathan Immanuel Brachthäuser

Photo of Jonathan Brachthäuser

Jonathan Brachthäuser
Universität Tübingen
WSI - Programmiersprachen
Sand 13
72076 Tübingen
Germany

Telefax
+49 - (0) 70 71 - 29 - 50 82
E-Mail
jonathan.brachthaeuser(at)uni-tuebingen.de
Office

Publications on Google Scholar Publications on DBLP

I am an alumnus now working as a professor for Software Engineering in Tübingen. Please visit my new research page for more information: https://se.cs.uni-tuebingen.de/team/brachthaeuser.

Assigned Thesis Topics

Interaktive Lehrbücher

Viele der Lehrmaterialien welche wir in der Lehre verwenden bestehen aus nicht interaktiven Skripten und Foliensätzen. Aber die Inhalte der Informatik, under gerade auch der Programmiersprachentheorie, eignen sich besonders gut für eine interaktive Präsentation. Durch eine interaktive Präsentation können auch sehr abstrakte Inhalte greifbar und verständlich gemacht werden. So wird zum Beispiel häufig auf Animationen und interaktive Graphiken zurückgegriffen, um die Ausführung von Algorithmen zu veranschaulichen. Im Rahmen dieser Bachelorarbeit wollen wir einige unserer Lehrmaterialien um interaktive Elemente ergänzen. Einige konkrete Beispiele die wir gerne umsetzen würden sind:

Read more ...

Finished Thesis Topics

Second-Class Values for Safer Effect Handlers

Effect handlers as generalizations of exception handlers offer interesting new ways to modularize software. Scala Effekt is an implementation of effect handlers, based on capability passing. Instead of searching for the correct handler in runtime, the handler is passed down to where the effect is used. This allows convenient implementations in languages like Scala and Java and comes with performance improvements. Scala 3 introduced the new feature of implicit function types, greatly reducing the burden of explicit capability passing. However, capabilities can leak and leave the scope of the defining handler leading to runtime errors.

Read more ...

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

Parsing Markdown with First-Class Derivatives

Markdown is a lightweight and widespread way of structuring plain text documents. The layout rules that are used to structure the text make Markdown at the same time easy to read for humans but also difficult to write a grammar or a parser.

Read more ...

CodeProse: Leveraging Editor Services for Literate Programming

Literate programming blends the borders between source code and documentation. The goal of existing tools like Docco and Scribble is to create a uniform reading experience for documentation and code.

Read more ...

News

Paper accepted for publication at OOPSLA 2020

Our paper “Effects as Capabilities: Effect Handlers and Lightweight Effect Polymorphism” (Jonathan Brachthäuser
Alumni
Jonathan Immanuel Brachthäuser
, Philipp Schuster
Alumni
Philipp Schuster
and Klaus Ostermann
Head
Klaus Ostermann
) has been accepted for publication at the International Conference on Object Oriented Programming Systems Languages & Applications (OOPSLA, 2020).

Read more ...

Presentation at ICFP 2020

Philipp Schuster
Alumni
Philipp Schuster
presents the paper Compiling Effect Handlers in Capability-Passing Style at the International Conference on Functional Programming (ICFP) 2020 virtual event.

Read more ...

Paper accepted for publication in the Journal of Functional Programming

Our paper “Effekt: Capability-Passing Style for Type- and Effect-Safe, Extensible Effect Handlers in Scala” (Jonathan Brachthäuser
Alumni
Jonathan Immanuel Brachthäuser
, Philipp Schuster
Alumni
Philipp Schuster
and Klaus Ostermann
Head
Klaus Ostermann
) has been accepted for been accepted for publication in the Journal of Functional Programming (JFP).

Read more ...

Invited Lecture on Effect Handlers

Jonathan Brachthäuser
Alumni
Jonathan Brachthäuser
is invited to give a guest lecture at the Modern Programming Languages seminar, organized by the Cusanuswerk sponsorship organization.

Read more ...

Presentation at OOPSLA 2018

Jonathan Brachthäuser
Alumni
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
Alumni
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
Alumni
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
Alumni
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
Alumni
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 ...

Anmeldefrist für die Software Engineering Summerschool von NovaTec

Die NovaTec GmbH, ein Kooperationspartner im Tübinger Softwareprojekt, veranstaltet dieses Jahr 3 verschiedene „Summer Schools“. Alle TeilnehmerInnen der Software Engineering Vorlesung und natürlich auch andere Interessierte sind herzlich dazu eingeladen.

Read more ...

Guest Lecture by Philipp Gerhard (iPoint-systems gmbh)

Philipp Gerhard, Software Developer at iPoint-systems gmbh will give an invited guest lecture in Software Engineering and talk about Test Driven Development and Continuous Integration.

Read more ...

Guest Lecture by Heiko Hütter (DAASI International)

Heiko Hütter, Project Manager and Scrum expert at DAASI International will talk about Challenges and best practices in multi-project and multi-product setups using Scrum.

Read more ...

Guest Lecture by Amra Avdic (Novatec GmbH)

Amra Avdic, Senior Consultant at Novatec GmbH, will talk about Requirements Engineering and agile Methods.

Read more ...

Industry project fair

Students present their finished projects and our industry partners present project proposals for the next iteration of “Das Tübinger Softwareprojekt”, an industry-acedemia collaboration with the goal of letting students experience a real software project as a programmer during their undergraduate studys, or as a team leader during their graduate studies.

Read more ...

Scala 2017 -- Call for Contributions

The Call for Contributions for the Eighth Symposium on Scala, co-organized by members of our research group (Paolo Giarrusso
Alumni
Paolo G. Giarrusso
and Jonathan Brachthäuser
Alumni
Jonathan Immanuel Brachthäuser
), is now available.

Read more ...

Dubai 100

Our TSP Team “Rehality” was granted to join “Dubai 100”. Starting on 13th of January 2017 they will participate in a intensive 100-day programme designed to accelerate the growth of early-stage startups. Only 10 Teams where given this great opportunity.

Read more ...

Presentation at OOPSLA conference

Jonathan Brachthäuser
Alumni
Jonathan Immanuel Brachthäuser
presents the paper Parsing with First-Class Derivatives at the International Conference on Object-oriented Programming, Systems, Languages, and Applications in Amsterdam, The Netherlands. The paper is joint work with Tillmann Rendel
Alumni
Tillmann Rendel
and Klaus Ostermann
Head
Klaus Ostermann
.

Read more ...

Paper accepted at OOPSLA

Our paper “Parsing with First-Class Derivatives” (Jonathan Brachthäuser
Alumni
Jonathan Immanuel Brachthäuser
, Tillmann Rendel
Alumni
Tillmann Rendel
and Klaus Ostermann
Head
Klaus Ostermann
) has been accepted for presentation at the annual conference of Object-oriented Programming, Systems, Languages, and Applications (OOPSLA).

Read more ...

Git Workshop for Industry Project Participants

The participants of the 2016 edition of the industry project „Das Tübinger Softwareprojekt“ get brought up to speed with git usage and social coding practices in a half-day workshop at Tübingen University.

Read more ...

SCRUM Workshop for Industry Project Participants

Students participtaing in “Das Tübinger Softwareproject” meet at a one-day workshop to learn about project management and team organisation with Scrum.

Read more ...

Team Leadership Workshop for Industry Project Participants

Graduate students participating in “Das Tübinger Softwareproject” meet at a one-day workshop to learn about team leadership skills and their role during the year-long industry-academia collaboration with the goal of letting students experience a realistic software engineering project during their studies.

Read more ...

Industry project fair

Students present their finished projects and our industry partners present project proposals for the next iteration of “Das Tübinger Softwareprojekt”, an industry-acedemia collaboration with the goal of letting students experience a real software project as a programmer during their undergraduate studys, or as a team leader during their graduate studies.

Read more ...

Software Engineering Project Fair @ PS

Meet us for the software engineering project fair, in which our industry partners present their proposal for this year’s software project offers.

Read more ...

BSc. Defense by Tobias Weber and Mini-Workshop on Uroboro

Tobias Weber from the University of Marburg visits Tübingen to defend his BSc. thesis entitled “An Implementation of a Language with Pattern and Copattern Matching”. On the occasion of his visit, we organize a little workshop about application of the language “Uroboro” that Tobias implemented.

Read more ...