March 26th, 2012

with Cat The Cat

Какой ужас!

Once you’re in the IO monad, you’re stuck there forever, and are reduced to Algol-style imperative programming. You cannot easily convert between functional and monadic style without a radical restructuring of code. And you inevitably need unsafePerformIO to get anything serious done. In practical terms, you are deprived of the useful concept of a benign effect, and that just stinks!
В Хаскеле полезный эффект (benign effect) находится в районе монады ST, почему он об этом "забыл" - не понятно. Некоторые эффекты вообще находятся в районе ленивого порядка вычислений (tie the knot, for example).

Выводы из этого селективного молчания мне не нравятся.