Fold on integer range
Library to work on range of sequential integers with features like : split, map, filter capacities. Designed for making distributed computing easier with libraries like functory.
Published: 25 Apr 2020
Range Library This small library has two goals : * enable to fold a sequence of integers like a list * split a range, making distributed computing easy Example of usage (* print numbers between 100 and 200 *) Range.(from 100 200 |> iter ~f:(Printf.printf "%d\n"));; (* print sum of all values between 1 and 50 *) Range.(from 1 50 |> fold ~f:(+) 0 |> print_int);; (* print sum of all values between 1 and 50, adding 4 to all elements and excluding 53 *) Range.(from 1 50 |> map ~f:((+) 4) |> filter ~f:((!=) 53) |> fold ~f:(+) 0 |> print_int);; (* implement a factorial function *) let factorial n = Range.(n |> abs |> from 1 |> fold ~f:( * ) 1) API documentation available at : https://aldrikfr.github.io/range/