CamlinternalMenhirLib.InfiniteArray

# Module CamlinternalMenhirLib.InfiniteArray

    module InfiniteArray: sig .. end

    type 'a t

This module implements infinite arrays. *

    val make : 'a -> 'a t

`make x` creates an infinite array, where every slot contains `x`. *

    val get : 'a t -> int -> 'a

`get a i` returns the element contained at offset `i` in the array `a`. Slots are numbered 0 and up. *

    val set : 'a t -> int -> 'a -> unit

`set a i x` sets the element contained at offset `i` in the array `a` to `x`. Slots are numbered 0 and up. *

    val extent : 'a t -> int

`extent a` is the length of an initial segment of the array `a` that is sufficiently large to contain all `set` operations ever performed. In other words, all elements beyond that segment have the default value.

    val domain : 'a t -> 'a array

`domain a` is a fresh copy of an initial segment of the array `a` whose length is `extent a`.