Пользователь Druu ответил на ваш комментарий к публикации «Монады как паттерн переиспользования кода»:
Человек очень изящно просто обошел проблему невыразительной системы типов
Во-первых, продолжения тоже типизируются, есть не одна модель. Ты не забывай, что мы обсуждаем вещи, которые перестали быть мейнстримом еще к выходу первого стандарта хаскеля. Тогда все описывалось как раз в рамках cps-семантики (в том числе и эффекты офк, коим сто лет в обед), а про мондадки никто и слыхом не слыхивал.
Во-вторых, при чем тут типы, если мы обсуждаем выразительность конструкций и с-но возможность писать тот или иной код просто с алгоритмической точки зрения? Типы — вещь совершенно ортогональная. Не надо мешать монады и и типы, это типичная ошибка людей, которые не разбираются в теме и не понимают, откуда что произошло, исторически. Монады ни для какой типизации и разделения чего-либо не нужны, для этого даже HKT не нужны, т.к. они эмулируются при желании.
В-третьих — не нужны не из-за отсутствия типов, а именно из-за того, что абсолютно все, что можно написать с монадами, можно написать в cps, только напрямую. При этом продолжения, в отличии от монад, прекрасно композятся, иными словами, для них не существует основной проблемы монад в принципе.
В-четвертых — надо понимать, еще раз, что монады появились как костыль для более-менее вменяемого использования продолжений в языках, в которых их нет. Очевидно, что если у тебя есть первичный, базовый концепт, то производный для тебя бесполезен.
Вообще, пейперов про продолжения и мондадки, как что к чему относится и как что через что выражается овердофига, взял бы да почитал для самообразования.