kirancodes.me
To Proof Maintenance & Beyond!

Safe stream-based programming with refinement types

Benno Stein, Lazaro Clapp, Manu Sridharan, Bor-Yuh Evan Chang

Abstract

In stream-based programming, data sources are abstracted as a stream of values that can be manipulated via callback functions. Stream-based programming is exploding in popularity, as it provides a powerful and expressive paradigm for handling asynchronous data sources in interactive software. However, high-level stream abstractions can also make it difficult for developers to reason about control- and data-flow relationships in their programs. This is particularly impactful when asynchronous stream-based code interacts with thread-limited features such as UI frameworks that restrict UI access to a single thread, since the threading behavior of streaming constructs is often non-intuitive and insufficiently documented.

BibTeX
@inproceedings{Stein-al:ASE18,
  author    = {Benno Stein and
               Lazaro Clapp and
               Manu Sridharan and
               Bor{-}Yuh Evan Chang},
  title     = {Safe stream-based programming with refinement types},
  booktitle = {ASE},
  pages     = {565--576},
  publisher = {{ACM}},
  year      = {2018},
}

Related papers