edit: solved, see bottom of message.
I’m trying to leverage web-server’s stateless servlet code to create a DSL with serializable continuations, but I’m running into trouble when invoking call-with-serializable-current-continuation . Specifically, I get the error current-continuation-marks: continuation includes no prompt with the given tag
tag: #<continuation-prompt-tag> from the following code: #lang web-server/base
(require (only-in racket/serialize
serialize)
(only-in web-server/lang/abort-resume
call-with-serializable-current-continuation))
(call-with-serializable-current-continuation
(lambda (k)
(serialize k))) My overall goal is to use call-with-serializable-current-continuation to periodically capture and store (to disk) the state of a running program so that I can stop it and resume it later.
edit: It looks like call-with-serializable-current-continuation expects the current continuation to have a continuation mark with a web-prompt key. This can be introduced with call-with-web-prompt: #lang web-server/base
(require (only-in racket/serialize
serialize)
(only-in web-server/lang/abort-resume
call-with-serializable-current-continuation
call-with-web-prompt
))
(call-with-web-prompt
(lambda ()
(call-with-serializable-current-continuation
(lambda (k)
(serialize k)))))