diff options
| author | Marcos Magueta <maguetamarcos@gmail.com> | 2026-10-12 11:53:45 -0300 |
|---|---|---|
| committer | Marcos Magueta <maguetamarcos@gmail.com> | 2026-10-12 11:53:45 -0300 |
| commit | d4f603fa04283efe54c79b5f7664c4c9bc193857 (patch) | |
| tree | 4d1ad9b273e9cc305bb02d1a9a8127169799d019 /lib/Utilities.ml | |
| parent | 8cddc12efdff4fe1742039df493ab5e425a685c4 (diff) | |
| download | RNT-d4f603fa04283efe54c79b5f7664c4c9bc193857.tar.gz RNT-d4f603fa04283efe54c79b5f7664c4c9bc193857.zip | |
concat map
Diffstat (limited to '')
| -rw-r--r-- | lib/Utilities.ml | 1 | ||||
| -rw-r--r-- | lib/Utilities.mli | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/lib/Utilities.ml b/lib/Utilities.ml index b7fe364..03d1eea 100644 --- a/lib/Utilities.ml +++ b/lib/Utilities.ml @@ -55,6 +55,7 @@ module List = struct include Generic (ListSequence) + let concat_map f xs = List.map f xs |> sequence |> Stdlib.Result.map List.concat let hd_opt = function x :: _ -> Some x | [] -> None end diff --git a/lib/Utilities.mli b/lib/Utilities.mli index 59bc1fc..fb38966 100644 --- a/lib/Utilities.mli +++ b/lib/Utilities.mli @@ -12,6 +12,7 @@ end module List : sig val sequence : ('a, 'b) result list -> ('a list, 'b) result val fold_left : ('a -> 'b -> ('a, 'e) result) -> 'a -> 'b list -> ('a, 'e) result + val concat_map : ('a -> ('b list, 'e) result) -> 'a list -> ('b list, 'e) result val hd_opt : 'a list -> 'a option end |
