Bounded refinement types

Niki Vazou,Alexander Bakst,Ranjit Jhala
DOI: https://doi.org/10.1145/2858949.2784745
2015-12-18
ACM SIGPLAN Notices
Abstract:We present a notion of bounded quantification for refinement types and show how it expands the expressiveness of refinement typing by using it to develop typed combinators for: (1) relational algebra and safe database access, (2) Floyd-Hoare logic within a state transformer monad equipped with combinators for branching and looping, and (3) using the above to implement a refined IO monad that tracks capabilities and resource usage. This leap in expressiveness comes via a translation to ``ghost" functions, which lets us retain the automated and decidable SMT based checking and inference that makes refinement typing effective in practice.
What problem does this paper attempt to address?