пример приводится Cont определенный только с одной свободной переменной a тогда как r засунут в forall, то есть
newtype Cont a = Cont { unCont :: forall r. (a -> r) -> r }
Вопрос, в реальной жизни такой вариант Cont есть в какой-нибудь либе и если нет то почему этим никто не пользуется чтобы избежать "лапши", которая часто получается когда bracket pattern используется?
https://hackage.haskell.org/package/managed-1.0.7/docs/src/Control.Monad.Managed.html#Managed
Оно же Codensity Identity
Обсуждают сегодня