ICFP 2025
Sun 12 - Sat 18 October 2025 Singapore
co-located with ICFP/SPLASH 2025
Tue 14 Oct 2025 09:00 - 10:10 at Orchid Plenary Ballroom - Tuesday ICFP Keynote Chair(s): Peter Thiemann

The work of software developers directly depends on decisions that language creators make for them. Therefore, when language creators choose from a number of design alternatives, they should consider how their choices affect the developers. Specifically, language creators should consider the use of a language feature in particular work contexts, an idea analogous to what linguists call “pragmatics”. However, so far, there are only a few instruments for investigating Programming Language (PL) pragmatics.

To address this gap, I have developed a new research instrument called the Rational Programmer. At the technical level, the Rational Programmer method puts the idea of simulation, a technique with a long history in Computer Science, to new use in PL research. The heart of a rational-programmer simulation is an algorithmic abstraction of using a language feature for information gathering, interpretation and action in a work context. Typically, a rational-programmer simulation produces a recommendation for a use strategy that a developer can employ. It may also identify a problematic aspect of a feature’s design with concrete evidence, which then the creators and developers can leverage to address the problem. Finally, a rational-programmer simulation can inform instructors how to teach students the effective use of a feature. In this talk, I will demonstrate the workings of the Rational Programmer method with examples.

Tue 14 Oct

Displayed time zone: Perth change

09:00 - 10:10
Tuesday ICFP KeynoteICFP Keynotes at Orchid Plenary Ballroom
Chair(s): Peter Thiemann University of Freiburg, Germany
09:00
70m
Keynote
The Rational Programmer, A Method for Investigating Programming Language Pragmatics
ICFP Keynotes
Christos Dimoulas Northwestern University