13
views
0
recommends
+1 Recommend
0 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: found
      Is Open Access

      Refinement Types: A Tutorial

      Preprint
      ,

      Read this article at

      Bookmark
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          Abstract

          Refinement types enrich a language's type system with logical predicates that circumscribe the set of values described by the type, thereby providing software developers a tunable knob with which to inform the type system about what invariants and correctness properties should be checked on their code. In this article, we distill the ideas developed in the substantial literature on refinement types into a unified tutorial that explains the key ingredients of modern refinement type systems. In particular, we show how to implement a refinement type checker via a progression of languages that incrementally add features to the language or type system.

          Related collections

          Author and article information

          Journal
          15 October 2020
          Article
          2010.07763
          c1637a4f-ff6c-4b00-a89a-a4493b7ba21d

          http://creativecommons.org/licenses/by/4.0/

          History
          Custom metadata
          cs.PL cs.LO cs.SE

          Software engineering,Theoretical computer science,Programming languages
          Software engineering, Theoretical computer science, Programming languages

          Comments

          Comment on this article