Module Reins.DugExtractor

module DugExtractor: sig .. end


Helper module for extracting a DUG from a specific program execution
type 'a wrap = private {
   data :'a;
   id :Dug.Id.t;
}
val mutate : ('gen, 'mut, 'obs) Reins.Dug.t ->
(Dug.Id.t -> 'mut) ->
('a -> 'a) -> 'a wrap -> 'a wrap
val mutate2 : ('gen, 'mut, 'obs) Reins.Dug.t ->
(Dug.Id.t -> 'mut) ->
('a -> 'a -> 'a) ->
'a wrap ->
'a wrap -> 'a wrap
val observe : ('gen, 'mut, 'obs) Reins.Dug.t ->
'obs -> ('a -> 'b) -> 'a wrap -> 'b
val observe2 : ('gen, 'mut, 'obs) Reins.Dug.t ->
'obs ->
('a -> 'a -> 'b) ->
'a wrap -> 'a wrap -> 'b
val generate : ('gen, 'mut, 'obs) Reins.Dug.t ->
(Dug.Id.t -> 'gen) -> 'a -> 'a wrap