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

Patrick Bahr, Christian Uldal Graulund, Rasmus Ejlers Møgelberg

Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearchpeer-review

Abstract

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. The Fitch-style presentation allows an easy way to rules out these leaks, which appears not to be possible in the more traditional dual context approach.
Original languageEnglish
Title of host publicationProceedings of the ACM on Programming Languages
Volume3
PublisherAssociation for Computing Machinery
Publication date2019
EditionIFCP
Article number109
DOIs
Publication statusPublished - 2019
EventInternational Conference on Functional Programming (IFCP 2019) - Hotel Scandic Berlin Potsdamer Platz, Berlin, Germany
Duration: 18 Aug 201923 Aug 2019
https://icfp19.sigplan.org/home

Conference

ConferenceInternational Conference on Functional Programming (IFCP 2019)
LocationHotel Scandic Berlin Potsdamer Platz
Country/TerritoryGermany
CityBerlin
Period18/08/201923/08/2019
Internet address

Keywords

  • Functional Reactive Programming
  • Causality
  • Modal Types
  • Space Leaks
  • Time Leaks
  • Signal Functions
  • Fitch-Style Calculus
  • Operational Semantics
  • Reactive Programming
  • Type Systems

Fingerprint

Dive into the research topics of 'Simply RaTT: A Fitch-style Modal Calculus for Reactive Programming'. Together they form a unique fingerprint.

Cite this