callCC를 이해하는 데 정말로 어려움을 겪고 있습니다. 나는 Continuations의 힘을 얻었고 멋진 컨셉을 만들기 위해 일부 프로젝트에서 컨셉을 사용하고 있습니다. 그러나보다 큰 기능을 가진 것을 사용할 필요는 없었습니다 cont :: ((a->r)->r)-> Cont r a
.
그것을 사용한 후에는 왜 그들이 모든 모나드의 어머니 인 Cont Monad라고 부르는지 이해가 되겠지만, 그래도 언제 사용해야하는지 모르겠는데, 이것이 callCC
바로 제 질문입니다.
reset
나 shift
. 주어진 작업이 다른 프로세스에 의해 해결 될 때까지 일시 중단 될 수있는 eembedded 언어를 정의한 다음 주어진 "연속"으로 다시 시작했습니다. 아마도 Cont Monad에 대한 많은 경험이 있다는 인상을 줄 수 있지만 실제로는 그렇지 않습니다. callCC를 이해하고 싶습니다
Cont
했습니까? 보다 강력한 무언가를 사용할 필요가 없다고 말하면 사용cont
하지 않았reset
거나shift
둘 중 하나 를 의미하지 않습니까?