Estou realmente lutando para entender o callCC. Eu tenho o poder das continuações e tenho usado o conceito em alguns dos meus projetos para criar conceitos interessantes. Mas nunca precisei usar algo com mais recursos do que cont :: ((a->r)->r)-> Cont r a.
Depois de usá-lo, faz muito sentido porque eles chamam a Cont Monad de mãe de todas as mônadas. AINDA, eu não entendo quando precisaria usá-la callCC, e essa é exatamente a minha pergunta.
resetou shift. Usei-o para definir uma linguagem incorporada que pode ser suspensa até que uma determinada ação seja resolvida por outro processo e, em seguida, continue com a "continuação" especificada. Talvez eu dar a impressão de ter um monte de experiência com Cont Mônada, mas não muito realmente, eu realmente quero entender callCC
Cont? Quando você diz que não precisou usar algo mais poderoso docontque isso significa que você não usouresetoushifttambém?