@article{simplyratt,
  author = {Bahr, Patrick and Graulund, Christian Uldal and M\o{}gelberg, Rasmus Ejlers},
  title = {Simply RaTT: A Fitch-style Modal Calculus for Reactive Programming Without Space Leaks},
  journal = {Proceedings of the ACM on Programming Languages},
  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 \emph{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.},
  volume = {3},
  number = {ICFP},
  month = jul,
  Date = {2019-07-26},
  year = {2019},
  issn = {2475-1421},
  pages = {109:1--109:27},
  articleno = {109},
  numpages = {27},
  url = {http://doi.acm.org/10.1145/3341713},
  doi = {10.1145/3341713},
  acmid = {3341713},
  publisher = {ACM},
  address = {New York, NY, USA},
  keywords = {functional reactive programming, garbage collection, modal types, synchronous data flow languages, type systems}
}