License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/DARTS.7.2.3
URN: urn:nbn:de:0030-drops-140275
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2021/14027/
Go back to Dagstuhl Artifacts Series


Tondwalkar, Anish ; Kolosick, Matt ; Jhala, Ranjit

mist: Refinements of Futures Past (Artifact)

pdf-format:
DARTS-7-2-3.pdf (0.6 MB)


Abstract

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.

BibTeX - Entry

@Article{tondwalkar_et_al:DARTS.7.2.3,
  author =	{Tondwalkar, Anish and Kolosick, Matt and Jhala, Ranjit},
  title =	{{mist: Refinements of Futures Past (Artifact)}},
  pages =	{3:1--3:11},
  journal =	{Dagstuhl Artifacts Series},
  ISSN =	{2509-8195},
  year =	{2021},
  volume =	{7},
  number =	{2},
  editor =	{Tondwalkar, Anish and Kolosick, Matt and Jhala, Ranjit},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/opus/volltexte/2021/14027},
  URN =		{urn:nbn:de:0030-drops-140275},
  doi =		{10.4230/DARTS.7.2.3},
  annote =	{Keywords: Refinement Types, Implicit Parameters, Verification, Dependent Pairs}
}

Keywords: Refinement Types, Implicit Parameters, Verification, Dependent Pairs
Collection: DARTS, Volume 7, Issue 2, Special Issue of the 35th European Conference on Object-Oriented Programming (ECOOP 2021)
Related Scholarly Article: https://doi.org/10.4230/LIPIcs.ECOOP.2021.18
Issue Date: 2021
Date of publication: 06.07.2021


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI