GSoC/GCI Archive
Google Summer of Code 2015 haskell.org

Native Haskell Type Encoding for LiquidHaskell

by Michael Smith for haskell.org

LiquidHaskell is a correctness-checking system that brings refinement types to Haskell. The current implementation parses type signatures and other specifications from special comments in Haskell source code. The majority of user issues - crashes and unclear error messages - trace back to this portion of the codebase, hampering widespread adoption. I propose to replace this with a system that encodes refinement types in Haskell's type system, achieving code reuse and deeper integration with GHC.