aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/iStream.ml2
-rw-r--r--lib/iStream.mli3
2 files changed, 5 insertions, 0 deletions
diff --git a/lib/iStream.ml b/lib/iStream.ml
index 1d9f55998e..bcb5336f23 100644
--- a/lib/iStream.ml
+++ b/lib/iStream.ml
@@ -76,3 +76,5 @@ let rec concat_node = function
and concat (s : 'a t t) =
lazy (concat_node (Lazy.force s))
+
+let concat_map f l = concat (map f l)
diff --git a/lib/iStream.mli b/lib/iStream.mli
index 9e4dec415a..61967f49e4 100644
--- a/lib/iStream.mli
+++ b/lib/iStream.mli
@@ -61,6 +61,9 @@ val concat : 'a t t -> 'a t
val map_filter : ('a -> 'b option) -> 'a t -> 'b t
(** Mixing [map] and [filter]. Not tail-rec. *)
+val concat_map : ('a -> 'b t) -> 'a t -> 'b t
+(** [concat_map f l] is the same as [concat (map f l)]. *)
+
(** {6 Conversions} *)
val of_list : 'a list -> 'a t