Liquid Types for Haskell

Niki Vazou, Eric Seidel, and Ranjit Jhala

UC San Diego

Try liquidHaskell

Well typed programs cannot go Wrong!

Well typed programs can go Wrong!

Refinement Types

Refine Classical Types with Logical Predicates
NotZero = {v:Int | v != 0}

Well refinement-typed programs cannot go Wrong!

LiquidHaskell: Liquid Types for Haskell

  1. Simple Refinements
  2. Measures
  3. Abstract Refinements
  4. Benchmarks

LiquidHaskell: Liquid Types for Haskell

  1. Simple Refinements
  2. Measures
  3. Abstract Refinements
  4. Benchmarks

Try liquidHaskell

Thank You!