1signature History =
2sig
3  type 'a history
4
5  exception CANT_BACKUP_ANYMORE
6
7  val new_history  : {obj:'a, limit:int} -> 'a history
8  val apply        : ('a -> 'a) -> 'a history -> 'a history
9  val set_limit    : 'a history -> int -> 'a history
10  val initialValue : 'a history -> 'a
11  val remove_past  : 'a history -> 'a history
12  val project      : ('a -> 'b) -> 'a history -> 'b
13  val undo         : 'a history -> 'a history
14  val restore      : 'a history -> 'a history
15  val save         : 'a history -> 'a history
16
17end
18