CCShimsMkLetList_.S
(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]