switches to a new tab. In this way, every tab is independent and it only sees
the objects defined in that tab. This fixes the following bug: in tab A go
down; go down in tab B; go up in tab A (at this point also the objects declared
in B where removed); do something in B or go up in B (BOOM))
let time_travel status = time_travel0 status#timestamp;;
+let replace status =
+ let sto,ali = status#timestamp in
+ storage := sto; local_aliases := ali
+;;
+
type obj = string * Obj.t
(* includes are transitively closed; dependencies are only immediate *)
type dump =
*)
val time_travel: #status -> unit
+val replace: #status -> unit
val init: unit -> unit