X-Git-Url: https://git.xandkar.net/?p=dups.git;a=blobdiff_plain;f=lib%2Fstream.mli;fp=lib%2Fstream.mli;h=6cb5b11383b41183218be724651f5ac61eab70b9;hp=0000000000000000000000000000000000000000;hb=ddcbda0046a598d55746850e15d4fa99b3998ce0;hpb=21e1d14c1e23d2c586ebe1480add8e9d87e7ad7a diff --git a/lib/stream.mli b/lib/stream.mli new file mode 100644 index 0000000..6cb5b11 --- /dev/null +++ b/lib/stream.mli @@ -0,0 +1,18 @@ +type 'a t + +val create : (unit -> 'a option) -> 'a t + +val of_queue : 'a Queue.t -> 'a t + +val iter : 'a t -> f:('a -> unit) -> unit + +val bag_map : 'a t -> njobs:int -> f:('a -> 'b) -> ('a * 'b) t +(** Parallel map with arbitrarily-reordered elements. *) + +val map : 'a t -> f:('a -> 'b) -> 'b t + +val filter : 'a t -> f:('a -> bool) -> 'a t + +val concat : ('a t) list -> 'a t + +val group_by : 'a t -> f:('a -> 'b) -> ('b * int * 'a list) t