mist: Refinements of Futures Past (Artifact)

Authors Anish Tondwalkar, Matt Kolosick, Ranjit Jhala

Thumbnail PDF

Artifact Description

  • Filesize: 0.61 MB
  • 11 pages

Document Identifiers

Author Details

Anish Tondwalkar
  • University of California, San Diego, CA, USA
Matt Kolosick
  • University of California, San Diego, CA, USA
Ranjit Jhala
  • University of California, San Diego, CA, USA

Cite AsGet BibTex

Anish Tondwalkar, Matt Kolosick, and Ranjit Jhala. mist: Refinements of Futures Past (Artifact). In Special Issue of the 35th European Conference on Object-Oriented Programming (ECOOP 2021). Dagstuhl Artifacts Series (DARTS), Volume 7, Issue 2, pp. 3:1-3:11, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2021)



mist is a tiny language for teaching and experimenting with refinement types, in the style of https://github.com/ucsd-progsys/liquidhaskell. We use it as a platform for experimenting with and as a demonstration of implicit refinement types as presented in the ECOOP21 paper Refinements of Futures Past: Higher-Order Specification with Implicit Refinement Types. We start with the parser and AST we use to teach our undergradute compilers class, and layer upon it a refinement type checker directly translated from the typing rules presented in that paper, which produces constraints that are solved with the liquid-fixpoint horn clause solver. We present source code and binaries for mist in a container image that includes installations of the competing tools we compare to.

Subject Classification

ACM Subject Classification
  • Theory of computation → Program constructs
  • Theory of computation → Program specifications
  • Theory of computation → Program verification
  • Refinement Types
  • Implicit Parameters
  • Verification
  • Dependent Pairs


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads