CHICKEN closures have a compiled C function and slots for the objects it closes over. How do you capture a continuation? Do you compile a partially evaluated C function and create a closure object for it?
In my lisp, I represented delimited continuations as a simple array of stack frames. Capture just copies to the heap all the stack frames up to the delimiter. Calling it just spills those frames onto the stack and replays the frames.
https://www.matheusmoreira.com/articles/delimited-continuati...