package containers

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module CCListLabels.InfixSource

Sourceval (>|=) : 'a t -> ('a -> 'b) -> 'b t

l >|= f is the infix version of map with reversed arguments.

Sourceval (@) : 'a t -> 'a t -> 'a t

l1 @ l2 concatenates two lists l1 and l2. As append.

Sourceval (<*>) : ('a -> 'b) t -> 'a t -> 'b t

funs <*> l is product (fun f x -> f x) funs l.

Sourceval (<$>) : ('a -> 'b) -> 'a t -> 'b t

f <$> l is like map.

Sourceval (>>=) : 'a t -> ('a -> 'b t) -> 'b t

l >>= f is flat_map f l.

Sourceval (--) : int -> int -> int t

i -- j is the infix alias for range. Bounds included.

Sourceval (--^) : int -> int -> int t

i --^ j is the infix alias for range'. Second bound j excluded.

  • since 0.17

Let operators on OCaml >= 4.08.0, nothing otherwise

  • since 2.8
include CCShimsMkLet_.S with type 'a t_let := 'a list
Sourceval (let+) : 'a list -> ('a -> 'b) -> 'b list
Sourceval (and+) : 'a list -> 'b list -> ('a * 'b) list
Sourceval (let*) : 'a list -> ('a -> 'b list) -> 'b list
Sourceval (and*) : 'a list -> 'b list -> ('a * 'b) list
include CCShimsMkLetList_.S
Sourceval (and&) : 'a list -> 'b list -> ('a * 'b) list

(and&) is combine_shortest. It allows to perform a synchronized product between two lists, stopping gently at the shortest. Usable both with let+ and let*.

    # let f xs ys zs =
        let+ x = xs
        and& y = ys
        and& z = zs in
        x + y + z;;
    val f : int list -> int list -> int list -> int list = <fun>
    # f [1;2] [5;6;7] [10;10];;
    - : int list = [16; 18]
  • since 3.1
OCaml

Innovation. Community. Security.