@drcode & stefano: I somehow doubt that "whole interpreter environment may be saved to a file and loaded back" can be implemented with continuations.
Well, maybe, but we'd probably need 1) destructurable functions (so we can serialize functions), 2) some way of iterating over global variables, 3) a decent sense of 'eq?, one which returns false for distinct mutable strings, preferably in an easy eq?-key-compare association table (so we can properly/easily serialize recursive structures).
Arc-on-mzscheme actually maintains a table of globals that have been ever assigned, together with the last known arc-side assignment (IIRC it actually keeps two copies of the global, one in the table and one in the actual mzscheme global variable space).
edit:
@lboard: I also somehow doubt you want to save the whole interpreter environment; probably you just want something like this:
(mac restartable body
`(*restartable-f (fn (restart) ,@body)))
(def *restartable-f (bf)
(bf (point ret (afn () (ret self)))))
This is the "continuation" solution that stefano and drcode are referring to; in general you probably want this, not necessarily saving the whole interpreter state.