PasteRack.org
Paste # 11536
2024-04-22 21:54:19

Fork as a new paste.

Paste viewed 286 times.


Embed:

  1. #lang racket/base
  2. (let ([tag (make-continuation-prompt-tag)])
  3.         (println "111")
  4.         (println (string-append "222"
  5.                 (call-with-continuation-prompt
  6.                         (lambda ()
  7.                                 (let ([data 0])
  8.                                         (println (string-append "333"
  9.                                                 (call-with-composable-continuation
  10.                                                         (lambda (k)
  11.                                                                 (println "---")
  12.                                                                 (println (string-append "pop& " (k " push&")))
  13.                                                                 ;; (abort-current-continuation tag "bbb")
  14.                                                                 "666")
  15.                                                         tag)))
  16.                                         (println (string-append "zzz"
  17.                                                 (call-with-composable-continuation
  18.                                                         (lambda (k)
  19.                                                                 (println "+++")
  20.                                                                 (println (string-append "pop| " (k " push|")))
  21.                                                                 ;; (abort-current-continuation tag "bbb")
  22.                                                                 "ddd")
  23.                                                         tag)))
  24.                                         (println data)
  25.                                         (set! data (+ data 1))
  26.                                         "777"))
  27.                         tag
  28.                         (lambda (k)
  29.                                 (println (string-append "888" k))
  30.                                 "aaa"
  31.                                 )))))
  32.         (println "999")

=>