http://goto.ucsd.edu/~rjhala/liquid/haskell/blog/ — вот тут пишут
Если коротко то это такой препроцессор который вводит дополнительные предикаты для аргументов функций, которые чекаются SMT-сольвером в момент компиляции.
@anonymous Ну как зачем? Чтобы не городя в хаскеле зависимых типов, проверять не передал ли ты в функцию число меньше ноля или не вышел ли ты за границы массива.