Refinement-Types Driven Development: A study

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Domínguez, Facundo, Spiwack, Arnaud
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912592662888448
author Domínguez, Facundo
Spiwack, Arnaud
author_facet Domínguez, Facundo
Spiwack, Arnaud
contents This paper advocates for the broader application of SMT solvers in everyday programming, challenging the conventional wisdom that these tools are solely for formal methods and verification. We claim that SMT solvers, when seamlessly integrated into a compiler's static checks, significantly enhance the capabilities of ordinary type checkers in program composition. Specifically, we argue that refinement types, as embodied by Liquid Haskell, enable the use of SMT solvers in mundane programming tasks. Through a case study on handling binder scopes in compilers, we envision a future where ordinary programming is made simpler and more enjoyable with the aid of refinement types and SMT solvers. As a secondary contribution, we present a prototype implementation of a theory of finite maps for Liquid Haskell's solver, developed to support our case study.
format Preprint
id arxiv_https___arxiv_org_abs_2509_15005
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Refinement-Types Driven Development: A study
Domínguez, Facundo
Spiwack, Arnaud
Programming Languages
This paper advocates for the broader application of SMT solvers in everyday programming, challenging the conventional wisdom that these tools are solely for formal methods and verification. We claim that SMT solvers, when seamlessly integrated into a compiler's static checks, significantly enhance the capabilities of ordinary type checkers in program composition. Specifically, we argue that refinement types, as embodied by Liquid Haskell, enable the use of SMT solvers in mundane programming tasks. Through a case study on handling binder scopes in compilers, we envision a future where ordinary programming is made simpler and more enjoyable with the aid of refinement types and SMT solvers. As a secondary contribution, we present a prototype implementation of a theory of finite maps for Liquid Haskell's solver, developed to support our case study.
title Refinement-Types Driven Development: A study
topic Programming Languages
url https://arxiv.org/abs/2509.15005