-
Notifications
You must be signed in to change notification settings - Fork 0
small range library for OCaml
License
aldrikfr/range
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
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/
About
small range library for OCaml
Topics
Resources
License
Contributing
Stars
Watchers
Forks
Packages 0
No packages published