关于 Ocaml 折叠的问题:您能解释一下为什么 Map.make.fold 的设计更像 List.fold_right 而不是 List.fold_left,请注意 List。fold_right 不是tail_recursive?应该有 Map.make.fold_left 和 Map.make.fold_right ?
type of Map.make.fold
val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
type of List.fold_left
val fold_left : ('a -> 'b -> 'a) -> 'a -> 'b list -> 'a
type of List.fold_right
val fold_right : ('a -> 'b -> 'b) -> 'a list -> 'b -> 'b