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.