Saya benar-benar berjuang dengan memahami callCC. Saya mendapatkan kekuatan Kelanjutan dan saya telah menggunakan konsep di beberapa proyek saya untuk membuat konsep keren. Tetapi saya tidak pernah perlu menggunakan sesuatu dengan kemampuan yang lebih besar dari itu cont :: ((a->r)->r)-> Cont r a
.
Setelah menggunakannya, masuk akal mengapa mereka menyebut Cont Monad ibu dari semua monad, BELUM saya tidak mengerti kapan saya harus menggunakannya callCC
, dan itulah pertanyaan saya.
reset
atau shift
. Saya telah menggunakannya untuk mendefinisikan bahasa eembedded yang dapat ditangguhkan sampai tindakan yang diberikan diselesaikan oleh proses lain, dan kemudian dilanjutkan dengan "kelanjutan" yang diberikan. Mungkin saya memberi kesan memiliki banyak pengalaman dengan Cont Monad, tetapi tidak terlalu banyak, saya hanya benar-benar ingin memahami callCC
Cont
? Ketika Anda mengatakan Anda tidak perlu menggunakan sesuatu yang lebih kuat dari itucont
, apakah itu berarti Anda belum pernah menggunakanreset
ataushift
keduanya?