@inproceedings{widgetrattus,
  author = {Disch, Jean-Claude and Heegaard, Asger and Bahr, Patrick},
  editor = {Gibbons, Jeremy},
  title = {Functional Reactive GUI Programming with Modal Types},
  abstract = {\emph{Functional reactive programming} (FRP) is a programming paradigm
for implementing reactive systems, i.e.\ programs that continuously
interact with their environments. While FRP allows for a functional,
high-level programming style, FRP programs are prone to undesirable
operational behaviours such as \emph{space leaks}. To ensure
favourable operational properties of FRP programs, \emph{modal type
systems} have been introduced, which -- among other things -- make it
impossible to write FRP programs with implicit space leaks. In a
recent development, several modal FRP languages have been introduced
that are able to accommodate \emph{asynchronous} events and behaviours --
motivated by the goal to use such languages for GUI programming.

This paper explores the suitability of one such asynchronous modal FRP
language -- called Async Rattus -- for GUI programming in \emph{practice}. To
this end, we have implemented a mild extension of the Async Rattus
language and used it to implement a small GUI framework. We
demonstrate the language and its GUI framework by a number of case
studies.},
  Keywords = {functional reactive programming, modal types, type systems, GUI, Haskell},
  booktitle = {Trends in Functional Programming},
  publisher = {Springer Nature Switzerland},
  pages = {93--114},
  isbn = {978-3-031-99751-8},
  doi = {10.1007/978-3-031-99751-8_5},
  url = {https://link.springer.com/chapter/10.1007/978-3-031-99751-8_5},
  month = oct,
  Date = {2025-10-01},
  year = {2025}
}