Liquid Types For Haskell
LiquidHaskell is a formal verification tool for Haskell that uses liquid types—a combination of Haskell's type system with refinement types and SMT solving—to statically verify program properties. Built at UC San Diego, the tool operates as a GHC plugin, integrating verification checks directly into the Haskell compilation process. It is implemented in Haskell and relies on external SMT solvers, particularly Z3, to discharge verification constraints generated during type checking.