module Point:A module that allows to create checkpoints and watch how many times the program go through these points.`sig`

..`end`

`type `

t

The abstract type for a point.

`val create : ``string -> t`

`create s`

creates a point called `s`

.`val kill : ``t -> unit`

`kill p`

kills a point `p`

. This means that this point
won't be monitored anymore.`val observe : ``t -> unit`

`observe p`

puts a checkpoint `p`

at the place where it is used.High-levels observators

`val observe_calls : ``string -> ('a -> 'b -> 'c) -> 'a -> 'b -> 'c`

`observe_calls s f`

create a point called `s`

inside the function `f`

that has one argument and isn't recursive.`val observe_calls2 : ``string -> ('a -> 'b -> 'c) -> 'a -> 'b -> 'c`

`observe_calls2 s f`

create a point called `s`

inside the function `f`

that has two arguments and isn't recursive.`val observe_calls_rec : ``string -> (('a -> 'b) -> 'a -> 'b) -> 'a -> 'b`

`observe_calls_rec s f`

create a point called `s`

inside the function `f`

that has one argument and is recursive.`val observe_calls_rec2 : ``string -> (('a -> 'b -> 'c) -> 'a -> 'b -> 'c) -> 'a -> 'b -> 'c`

`observe_calls_rec2 s f`

create a point called `s`

inside the function `f`

that has two arguments and is recursive.