История изменений
Исправление den73, (текущая версия) :
Весь код в любом языке с call/cc является монадическим автоматом (в identity монаде). Без переписывания в do-нотацию, замены аппликаций на бинды и прочую чушь.
Именно по-этому получается в do-нотации записать любую другую монаду - do-нотация внутри cont является таким языком.
Точно так же, как ты в хаскеле превращаешь код внутри do в код любой монады - в языках с call/cc ты можешь делать _с произвольным_ кодом. В любом месте.
Анонимус практически продал мне схему. Поскольку идентичность анонимуса никоггда не ясна, я считаю ответы анонимусов несколько... э... не заслуживающими доверия, даже если они выглядят похожими на правду. Я бы хотел комментариев от зарегистрированных пользователей, знающих Хаскель. Верно ли я понял, что в Хаскеле нельзя так просто взять определённый уже написанный код и как-то по-новому его выполнить (добавить к нему транзакционность, к примеру, или call/cc). Я ищу именно такую возможность (у меня есть конкретная задача для этого).
Исправление den73, :
Весь код в любом языке с call/cc является монадическим автоматом (в identity монаде). Без переписывания в do-нотацию, замены аппликаций на бинды и прочую чушь.
Именно по-этому получается в do-нотации записать любую другую монаду - do-нотация внутри cont является таким языком.
Точно так же, как ты в хаскеле превращаешь код внутри do в код любой монады - в языках с call/cc ты можешь делать _с произвольным_ кодом. В любом месте.
Анонимус практически продал мне схему. Поскольку анонимусы не обязаны писать адекватного текста, я бы хотел комментариев от зарегистрированных пользователей, знающих Хаскель. Верно ли я понял, что в Хаскеле нельзя так просто взять определённый уже написанный код и как-то по-новому его выполнить (добавить к нему транзакционность, к примеру, или call/cc). Я ищу именно такую возможность (у меня есть конкретная задача для этого).
Исходная версия den73, :
Весь код в любом языке с call/cc является монадическим автоматом (в identity монаде). Без переписывания в do-нотацию, замены аппликаций на бинды и прочую чушь.
Именно по-этому получается в do-нотации записать любую другую монаду - do-нотация внутри cont является таким языком.
Точно так же, как ты в хаскеле превращаешь код внутри do в код любой монады - в языках с call/cc ты можешь делать _с произвольным_ кодом. В любом месте.
Анонимус практически продал мне схему. Поскольку анонимусы не обязаны писать адекватного текста и относятся к касте неприкасаемых в связи с этим, то я бы хотел комментариев от зарегистрированных пользователей, знающих Хаскель. Верно ли я понял, что в Хаскеле нельзя так просто взять определённый уже написанный код и как-то по-новому его выполнить (добавить к нему транзакционность, к примеру, или call/cc). Я ищу именно такую возможность (у меня есть конкретная задача для этого).