Write a Blog >>
ICFP 2020
Thu 20 - Fri 28 August 2020
Sun 23 Aug 2020 10:45 - 11:30 at HOPE - Keynote and Session 1

Functional reactive programming (FRP) is a paradigm for programming with signals and events, allowing the user to describe reactive programs on a high level of abstraction. For this to make sense, an FRP language must ensure that all programs are causal, and can be implemented without introducing space leaks and time leaks. To this end, some FRP languages do not give direct access to signals, but just to signal functions.

Recently, modal types have been suggested as an alternative approach to ensuring causality in FRP languages in the synchronous case, giving direct access to the signal and event abstractions. This paper presents Simply RaTT, a new modal calculus for reactive programming. Unlike prior calculi, Simply RaTT uses a Fitch-style approach to modal types, which simplifies the type system and makes programs more concise.

In the context of modal FRP, the delay modality is used to represent computations that can be executed in the next time step. This is a computational effect and controlling this is crucial for FRP as many space and time leaks arise from moving computations across time steps. Echoing a previous result by Krishnaswami for a different language, we devise an operational semantics that safely executes Simply RaTT programs without space leaks.

Sun 23 Aug
Times are displayed in time zone: Eastern Time (US & Canada) change

08:00 - 11:30: Keynote and Session 1HOPE at HOPE
08:00 - 09:00
Variants of call-by-push-value
Paul Blain LevyUniversity of Birmingham
09:15 - 10:00
Kripke open relations and operational game semantics
Guilhem JaberUniversité de Nantes, Andrzej MurawskiUniversity of Oxford
10:00 - 10:45
Merging coeffect production into effect handling
Tarmo UustaluReykjavik University, Tallinn University of Technology, Niels VoorneveldTallinn University of Technology
10:45 - 11:30
Simply RaTT: A Fitch-style Modal Calculus for Reactive Programming
Patrick BahrIT University of Copenhagen, Christian Uldal GraulundIT University of Copenhagen, Rasmus Ejlers MøgelbergIT University of Copenhagen