module Make (
C
:
COLLECTION
)
: S
with type 'a t = 'a C.t
Functor
type 'a
t
type ('a, 'b)
op
Operation that converts a 'a t
into a 'b t
val apply : ('a, 'b) op -> 'a t -> 'b t
Apply the operation to the collection.
val apply_fold : ('a, 'b) op -> ('c -> 'b -> 'c) -> 'c -> 'a t -> 'c
Apply the operation plus a fold to the collection.
val apply' : 'a t -> ('a, 'b) op -> 'b t
Combinators
val id : ('a, 'a) op
val map : ('a -> 'b) -> ('a, 'b) op
val filter : ('a -> bool) -> ('a, 'a) op
val filter_map : ('a -> 'b option) -> ('a, 'b) op
val flat_map : ('a -> 'b t) -> ('a, 'b) op
val extern : ('a t -> 'b t) -> ('a, 'b) op
Use a specific function that won't be optimized
val compose : ('b, 'c) op -> ('a, 'b) op -> ('a, 'c) op
val (>>>) : ('a, 'b) op -> ('b, 'c) op -> ('a, 'c) op