-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
21 lines (14 loc) · 784 Bytes
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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/