package batteries

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module BatBounded.MakeSource

Functor to build an implementation of a bounded type given the bounded values definition M

Parameters

module M : BoundedType

Signature

Sourcetype base_u = M.base_t

Raw unbounded type

Sourcetype u = M.t

base_u after bounding constraints have been applied

type t = private M.t

Private version of u to avoid construction of t values without using make below.

val bounds : base_u bound_t * base_u bound_t

bounds defines the (min, max) bounds for the bounded range

Sourceval make : base_u -> t

make x will return a value of type t derived from x.

Sourceval extract : t -> u

extract x will return x as a value of type u. A similar result could be achieved with (x :> u)

Sourceval map : (base_u -> base_u) -> t -> t option

map f x applies f to x. Returns Some y if x can be converted back to type base_u, otherwise returns None.

Sourceval map2 : (base_u -> base_u -> base_u) -> t -> t -> t option

map2 f x y applies f to x and y. Returns Some z if x and y can be converted back to type base_u, otherwise returns None.

Sourceval map_exn : (base_u -> base_u) -> t -> t

map_exn f x applies f to x. Returns y if x can be converted back to type base_u, otherwise raise an exception.

Sourceval map2_exn : (base_u -> base_u -> base_u) -> t -> t -> t

map2_exn f x y applies f to x and y. Returns z if x and y can be converted back to type base_u, otherwise raise an exception.

OCaml

Innovation. Community. Security.