Simply RaTT: A Fitch-style Modal Calculus for Reactive Programming

03/14/2019
by   Patrick Bahr, et al.
0

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. Echoing a previous result by Krishnaswami for a different language, we devise an operational semantics that safely executes Simply RaTT programs without space leaks. We also identify a source of time leaks present in other modal FRP languages: The unfolding of fixed points in delayed computations. These time leaks are eliminated by the Simply RaTT type system.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/14/2019

Simply RaTT: A Fitch-style Modal Calculus for Reactive Programming without Space Leaks

Functional reactive programming (FRP) is a paradigm for programming with...
research
03/28/2018

Vehicle Platooning Simulations with Functional Reactive Programming

Functional languages have provided major benefits to the verification co...
research
03/06/2020

Diamonds are not forever: Liveness in reactive programming with guarded recursion

When designing languages for functional reactive programming (FRP) the m...
research
03/06/2023

Asynchronous Modal FRP

Over the past decade, a number of languages for functional reactive prog...
research
03/27/2018

Harmonizing Signals and Events with a Lightweight Extension to Java

The current demands for seamless connections with the surrounding enviro...
research
10/23/2020

Adjoint Reactive GUI

Most interaction with a computer is done via a graphical user interface....
research
05/12/2022

Direct Foundations for Compositional Programming

The recently proposed CP language adopts Compositional Programming: a ne...

Please sign up or login with your details

Forgot password? Click here to reset