module Journal:Journalization of functionssig
..end
val get_name : unit -> string
val set_name : string -> unit
set_journal_name name
changes the filename into the journal will be
written. The new filename is name ^ ".ml"
.val write : unit -> unit
write ()
writes the content of the journal into the given file
(without clearing the journal).val prevent : ('a -> 'b) -> 'a -> 'b
val save : unit -> unit
val restore : unit -> unit
val register : string ->
'a Type.t -> ?comment:(Format.formatter -> unit) -> ?is_dyn:bool -> 'a -> 'a
register n ty ~comment:pp ~register:r v
journalizes the value v
of type ty
with the name n
. n
must exactly match the FQN
of the value (i.e. "List.iter" and not "iter" even though the module
List is already opened). If the comment
argument is set, the given
pretty printer pp
would be applied when the is journalized.
Set is_dyn
to true to journalize dynamic function.
val never_write : string -> 'a -> 'a
never_write name f
returns a closure g
observationaly equal to f
except that trying to write a call to g
in the journal is an error. If
f
is not a closure, then never_write name f
raises
Invalid_argument
.val keep_file : string -> unit
exception LoadingError of string