Gerçekten gerçekten callCC'yi anlamakta zorlanıyorum. Sürekliliklerin gücünü alıyorum ve bazı projelerimde bu konsepti harika konseptler oluşturmak için kullanıyorum. Ama asla daha büyük yeteneklere sahip bir şey kullanmam gerekmedi cont :: ((a->r)->r)-> Cont r a
.
Kullandıktan sonra, Cont Monad'ı neden tüm monadların annesi olarak adlandırdıkları çok mantıklı, YET, ne zaman kullanmam gerekecek callCC
, ve bu tam olarak benim sorum.
reset
ya shift
. Belirli bir eylem başka bir işlem tarafından çözülene kadar askıya alınabilen bir eembed dili tanımlamak için kullandım ve sonra verilen "devam" ile devam eder. Belki Cont Monad ile çok fazla deneyime sahip olduğum izlenimini veriyorum, ama o kadar da değil, sadece callCC'yi anlamak istiyorum
Cont
? Bundan daha güçlü bir şey kullanmanız gerekmediğini söylediğinizdecont
, bu, kullanmadığınızreset
veyashift
ikisinden birini kullanmadığınız anlamına mı geliyor ?