15 lines
360 B
OCaml
15 lines
360 B
OCaml
open Simple_utils.Trace
|
|
|
|
let fold_map__list continue state v =
|
|
let aux = fun acc elt ->
|
|
let%bind (state , lst') = acc in
|
|
let%bind (state , elt') = continue state elt in
|
|
ok (state , elt' :: lst') in
|
|
List.fold_left aux (ok (state, [])) v
|
|
|
|
|
|
let fold_map__option continue state v =
|
|
match v with
|
|
Some x -> continue state x
|
|
| None -> ok None
|