Skip to content

Instantly share code, notes, and snippets.

@nkoguro
Created June 14, 2020 08:01
Show Gist options
  • Save nkoguro/13ba5257847507e637416aa92a2e889c to your computer and use it in GitHub Desktop.
Save nkoguro/13ba5257847507e637416aa92a2e889c to your computer and use it in GitHub Desktop.
(use data.queue)
(use gauche.partcont)
(define queue (make-queue))
(define (yield)
(shift cont
(enqueue! queue cont)))
(define (main args)
(enqueue! queue (lambda ()
(guard (e (else (print "catch error!!")))
(yield)
(error "err"))))
(while (dequeue! queue #f)
=> next
(print "==> call next")
(dynamic-wind
(lambda ()
(print "start"))
(lambda ()
(reset
(next)))
(lambda ()
(print "end"))))
0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment