Pull to refresh

Comments 4

Можно обойтись одним lift. Для меня как раз lift был самым непонятным. В do-notation теряется логика как состояние передается из стоки в строку. Мне долго приходилось переваривать что в каждой строке незримо передается state из предыдущей, get его копирует, а lift удерживает передавая внутреннюю манаду функции которой она нужна. Красивый язык, но сложный для понимания из-за высоких абстракций.

Действительно, как то я просмотрел, что одного lift-а хватит. Да и по большей части, со всем другим с вами согласен. Тоже не раз ломал голову с этим языком

Монады в Haskell это вычисления с побочным эффектом

После этого можно дальше уже не читать. Во-первых, это в общем случае не так, во-вторых, конкретно именно для рассматриваемой монады State это не так. "Так" оно только для монады IO (ну и строимых на её основе).

Прошу прощения, серьезная ошибка. Издержки самообучения, так сказать.

В вашем комментарии, все же, я вижу "советы".

Во-первых, в дальнейшем, буду более внимательным. Во-вторых, стоит разобраться с терминологией.

Спасибо...

Sign up to leave a comment.

Articles