« Home

實現 resume [cs-000H]

f 中我們寫下

(define (f params ...)
  (call/cc (λ (k) (abort/cc tag k ...))))

call/prompt 的 handler 中新增一個 resume 參數,這樣就完成了。讀者可以填補下面的程式中的空白來檢驗結果,也充當練習

(define (f params ...)
  (call/cc (λ (k) (abort/cc tag k ...)))
  ...)
(call/prompt f
             tag
             (λ (resume ...)
               ...
               ; 跳回 f 繼續
               (resume))
             args ...)