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 : ('a, 'b, 'c) Reins.Dug.t ->
(Dug.Id.t -> 'b) ->
('d -> 'd) -> 'd wrap -> 'd wrap
val mutate2 : ('a, 'b, 'c) Reins.Dug.t ->
(Dug.Id.t -> 'b) ->
('d -> 'd -> 'd) ->
'd wrap ->
'd wrap -> 'd wrap
val observe : ('a, 'b, 'c) Reins.Dug.t ->
'c -> ('d -> 'e) -> 'd wrap -> 'e
val observe2 : ('a, 'b, 'c) Reins.Dug.t ->
'c ->
('d -> 'd -> 'e) ->
'd wrap -> 'd wrap -> 'e
val generate : ('a, 'b, 'c) Reins.Dug.t ->
(Dug.Id.t -> 'a) -> 'd -> 'd wrap