Ocaml's fold上的天真问题:注意这个列表,你能解释一下为什么Map.make.fold更像List.fold_right而不是List.fold_left吗?fold_right不是tail_recursive吗?应该有Map.make.fold_left和Map.make.fold_right吧?type of Map.make.fold
val fold : (key -> 'a ->
正如你可能知道的,OCaml中有更高阶的函数,如fold_left,fold_right,filter等。在我的函数式编程课程中,我介绍了一个名为fold_tree的函数,它类似于fold_left/right,不是在列表上,而是在(二进制)树上。它看起来是这样的: match t with Node (l, x, r) -> f x (fold_treef a l)