Bounded Refinement Types

1 Jul 2015  ·  Niki Vazou, Alexander Bakst, Ranjit Jhala ·

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.

PDF Abstract
No code implementations yet. Submit your code now

Categories


Programming Languages Software Engineering D.2.4; D.3.3; F.3.1

Datasets


  Add Datasets introduced or used in this paper