package range

  1. Overview
  2. Docs
Fold on integer range

Install

Dune Dependency

Authors

Maintainers

Sources

0.8.3.tar.gz
md5=7b9732f6ba03ddc22cf0b4b7bd04dbe1

Description

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

README

README

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/

Dependencies (3)

  1. dune >= "2.2"
  2. base >= "v0.12"
  3. ocaml >= "4.02"

Dev Dependencies (1)

  1. ounit with-test

Used by

None

Conflicts

None