Радости и горести побед над C: делаем конфетку из прототипа wc на хаскеле

Привет, Хабр. Итак, в прошлый раз мы эмпирически доказали, что на хаскеле можно довольно легко написать этакий игрушечный wc, который при этом существенно быстрее реализации wc из GNU Coreutils. Понятное дело, что это не совсем честное сравнение: наша программа не умеет ничего, кроме подсчёта байт, строк и слов, тогда как ПОДРОБНЕЕ

Побеждая C двадцатью строками Haskell: пишем свой wc

Привет, Хабр. На днях Siemargl предложил мне перевести любопытную статью о победе над юниксовым wc при помощи хаскеля. Переводить её я, конечно же, не буду, и по нескольким причинам: автор выжал из однопоточной версии далеко не всё, и однопоточная версия была существенно медленнее wc, в той статье для победы потребовалось ПОДРОБНЕЕ

Монада - программируемая точка с запятой

Монады  —  программируемые точки с запятой. Именно так. Монада предоставляет функции, позволяющие упорядочивать действия. Более того, между каждыми двумя действиями выполняется определённый фрагмент кода. Итак, монада  —  настраиваемая точка с запятой. Сделаем шаг назад В императивных языках, таких как C и Java, для выражения последовательности операций используются точки с запятой. Код ПОДРОБНЕЕ