Module Visitor.Fold_with_context

Folder that carries a context

type 'a action = 'a folding_action
val do_children : 'a -> 'b -> 'b folding_action
val proceed : 'a -> 'b -> 'b folding_action
val default : 'a -> 'b -> 'c -> 'c folding_action
val handle : ('x -> 'c -> 'a -> 'a action) -> continue:('x -> 'c -> 'a -> 'a) -> 'x -> 'c -> 'a -> 'a
val leaf : ('x -> 'c -> 'a -> 'a action) -> 'x -> 'c -> 'a -> 'a
class ['a, 'c] folder : object ... end
val fold_bool : ['a, 'b] folder -> 'b -> bool -> 'a -> 'a
val fold_char : ['a, 'b] folder -> 'b -> char -> 'a -> 'a
val fold_int : ['a, 'b] folder -> 'b -> int -> 'a -> 'a
val fold_string : ['a, 'b] folder -> 'b -> string -> 'a -> 'a
val fold_option : fold:(['b, 'c option] folder as 'a -> 'c -> 'd option -> 'b -> 'b) -> 'e -> 'c option -> 'd option -> 'b -> 'b
val fold_list : fold:(['b, 'c] folder as 'a -> 'c -> 'b -> 'd -> 'b) -> 'e -> 'c -> 'd list -> 'b -> 'b