Jonathan Brachthäuser

1.4K posts

Jonathan Brachthäuser

Jonathan Brachthäuser

@__protected

Researcher in computer science, all things effects, author of the Effekt language (https://t.co/HrYL6Fvffa), Professor at Uni Tübingen. https://t.co/lvCLTiKbL1

Tübingen, Deutschland انضم Eylül 2010
393 يتبع888 المتابعون
تغريدة مثبتة
Jonathan Brachthäuser
Jonathan Brachthäuser@__protected·
I am more than proud of my PhD students, colleagues and collaborators! Together we managed to have 5 papers at this year's OOPSLA'25 (R1 and R2) and 1 at the colocated ICFP'25. 🥳🎉 The papers cover a wide range of PL and compiler topics 🧵
English
2
12
81
20K
Jonathan Brachthäuser أُعيد تغريده
Leonardo de Moura
Leonardo de Moura@Leonard41111588·
Claude code, with no special training for theorem proving, converted zlib to Lean and proved the roundtrip correct. Minimal human guidance. Decompress after compress always returns the original data. github.com/kim-em/lean-zip
English
3
24
264
25.4K
Jonathan Brachthäuser أُعيد تغريده
Satnam Singh
Satnam Singh@satnam6502·
goto makes a comeback. The goto rule might be simple but Hoare pointed out its application is complicated for human brains, but LLM-code generators don't care.
Satnam Singh tweet media
English
16
8
169
11.8K
Jonathan Brachthäuser أُعيد تغريده
flix
flix@flixlang·
1/2 Excited about Flix or effects? Help us out by solving some programming challenges in our interactive study. Takes 10-15min. Link👇
English
1
6
15
831
Jonathan Brachthäuser أُعيد تغريده
EPFL
EPFL@EPFL_en·
Martin Odersky, EPFL professor and head of the Programming Methods Laboratory, developed the programming language Scala, which is used by thousands of companies worldwide. In 2025, he was awarded the Programming Languages Achievement Award. go.epfl.ch/390f0f
English
0
23
106
5.2K
Jonathan Brachthäuser أُعيد تغريده
Jules Jacobs
Jules Jacobs@JulesJacobs5·
The program for the Oregon Programming Languages Summer School 2026 looks exciting: cs.uoregon.edu/research/summe… Come or send your students!
English
0
13
63
3.4K
Jonathan Brachthäuser
Jonathan Brachthäuser@__protected·
Anybody at POPL (@poplconf) this week? If so, please say hi to our student Alexander Phi Goetz, who is presenting his work on type system design for delimited control operators at the SRC. It is his first conference and I am sure he would be happy if you say hi :)
English
0
0
1
128
Aram Hăvărneanu
Aram Hăvărneanu@aramh·
I really don't understand focusing (proof theory), but I feel like I should.
English
7
0
15
1.8K
Jonathan Brachthäuser أُعيد تغريده
Yaron (Ron) Minsky
Yaron (Ron) Minsky@yminsky·
We're looking to hire an experienced editor with a taste for fancy type-systems to work on education for OxCaml! Please share with anyone you think might be a good fit for this role. (And...retweets wouldn't hurt.)
Yaron (Ron) Minsky tweet media
English
5
29
98
23.1K
Jonathan Brachthäuser
Jonathan Brachthäuser@__protected·
@aramh We wrote a grant proposal about this very point ~4 years ago. It was rejected. Reviewers said: who cares about this? By now we can motivate it way more practically, but I am still sad why mathematical elegance and curiosity isn't enough motivation.
English
0
0
10
256
Aram Hăvărneanu
Aram Hăvărneanu@aramh·
In a programming language you need to control when things are executed. Call by push value was a first attempt towards that but a more general approach comes when all your types are polarized and dual (e.g. Par or Polarity, or any language that is a term calculus for a symmetric logic such as classical linear logic or classical logic). In a distributed system in order to be robust and reliable (provide backpressure, etc) you need to control when things are executed. This basically means control on push vs. pull behavior and a way to turn one into the other (another form of duality). In a programming language you need to control when your program produces effects and how the outside environment interacts with your program. There are various ways to do this with differing tradeoffs, but an increasingly popular way is through algebraic effects, where effects and co-effects are algebraically dual (I believe, not quite sure about this, please correct me if I am wrong). In functional programming it's easy to add more interpretations to a data types, but it is difficult (costly) to extend it. In an object oriented language it is trivial to add more cases to a data types, but it is difficult (clunky, expensive) to add more interpretations (visitor patterns and other abstrusions). This is, of course, the famous Expression Problem. Turns out that if you make FP and OOP dual you can also solve the expression problem (again see Polarity). I see a pattern here, let me add to it. Session type duality: producers are dual to consumers (also relevant to the distributed system case). Player vs opponent. Program vs. context. Syntax-semantics duality (at least for full abstraction). Various Stone dualities in the same area. Forward vs. reverse automatic differentiation. Etc, etc, etc. It's time to recognize that if your system doesn't have duality, it's probably missing some fundamental feature. It should be a good design principle that whatever system you're designing has to have an explicit dual structure.
English
4
5
67
4.5K
Jonathan Brachthäuser أُعيد تغريده
POPL 2026
POPL 2026@poplconf·
The ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM'26), co-located with POPL'26 in Rennes, France is calling for papers! Submission deadline: Friday 24 Oct 2025 popl26.sigplan.org/home/pepm-2026
English
0
7
8
3.5K
Jonathan Brachthäuser
Jonathan Brachthäuser@__protected·
I am very happy that you enjoy our work :) Let me know if you have any questions
Felipe O. Carvalho@_Felipe

@geofflangdale This recent OOPSLA paper shows a very elegant way of dealing with overloads and rendering nice error messages when there’s more than one possible call. The online demo shows you how it looks.

English
0
0
6
708
Jonathan Brachthäuser
Jonathan Brachthäuser@__protected·
@AppleSupport Here is the command I use to delete the plist files in order to allow reconnecting (after reboot): sudo rm /Library/Preferences/com.apple.windowserver.displays.plist sudo rm ~/Library/Preferences/ByHost/com.apple.windowserver*.plist This workaround is not viable in practice.
English
0
0
0
24
Jonathan Brachthäuser
Jonathan Brachthäuser@__protected·
@AppleSupport I can reproduce this bug reliably. Similar issues showed up multiple times now on different projectors which makes it impossible to reconnect. This is a major blocker for me since I need to mirror my screen in my lectures.
English
1
0
1
31
Jonathan Brachthäuser
Jonathan Brachthäuser@__protected·
@AppleSupport M1 MacBook Pro (macOS 15.7.1): Using "Mirror app window" via HDMI then "Stop mirroring window" permanently breaks external display detection. Projector shows black screen, display disappears from settings. Fix: delete display plist files via Terminal & reboot.
English
1
0
1
108
Jonathan Brachthäuser
Jonathan Brachthäuser@__protected·
That's it from us for this ICFP / SPLASH 🫳🎤 If you missed our talks, you can read about them here se.cs.uni-tuebingen.de/singapore2025/ and I'm sure the recordings will pop up on the SIGPLAN YouTube channel at some point.
Jonathan Brachthäuser@__protected

I am more than proud of my PhD students, colleagues and collaborators! Together we managed to have 5 papers at this year's OOPSLA'25 (R1 and R2) and 1 at the colocated ICFP'25. 🥳🎉 The papers cover a wide range of PL and compiler topics 🧵

English
1
0
14
786
Jonathan Brachthäuser
Jonathan Brachthäuser@__protected·
The sixth and last talk of my group and collaborators will be by @jiribenes_ on the Simple Essence of Overload Resolution. It'll be at 11:45 local time in Orchid East, so make sure to drop by.
Jonathan Brachthäuser tweet media
Jonathan Brachthäuser@__protected

I am more than proud of my PhD students, colleagues and collaborators! Together we managed to have 5 papers at this year's OOPSLA'25 (R1 and R2) and 1 at the colocated ICFP'25. 🥳🎉 The papers cover a wide range of PL and compiler topics 🧵

English
1
1
6
1.5K