Up

module InfiniteArray

: sig

This module implements infinite arrays. *

#
type 'a t
#
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.

end