[racket] help on understanding abort-current-continuation at the toplevel module level
I'm trying to find information on what the default handler is, for the
prompts established at the toplevel of a module. From the following
program:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#lang racket/base
1
(call-with-continuation-prompt
(lambda ()
(abort-current-continuation (default-continuation-prompt-tag)
(lambda () (printf "hello\n")))))
2
(abort-current-continuation (default-continuation-prompt-tag)
(lambda () (printf "world\n")))
3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
I was expecting each statement to be wrapped in a prompt whose handler
re-establishes the prompt and calls the thunk, that is, I was
expecting the implicit handler:
(lambda (abort-thunk)
(call-with-continuation-prompt abort-thunk prompt-tag #f))
wrapped around each toplevel module expression, and that I'd see
"1hello\n2world\n3". But as usual, I'm wrong. :)
Where in the documentation can I find the behavior of the prompt
handler that's wrapped around each module toplevel expression?