<INTERFACE> The <CD/MONO_DYNAMIC_ARRAY/ signature <SEEALSO> <FCTREF/DynamicArrayFn/ <PP> The <SIGREF NOLINK/MONO_DYNAMIC_ARRAY/ signature specifies an interface to dynamic monomorphic arrays. These act like arrays of unbounded length. <SPEC> <TYPE><ID>elem <SPEC> <TYPE><ID>array <SPEC> <VAL>array<TY>(int * elem) -> array <RAISES> <PROTOTY> array (<ARG/sz/, <ARG/el/) </PROTOTY> creates a dynamic array all of whose elements are initialized to the default value of <ARG/el/. The <ARG/sz/ parameter is used as a hint of the potential range of indices of non-default items. Raises <VAL>subArray<TY>(array * int * int) -> array <RAISES> <PROTOTY> subArray (<ARG/arr/, <ARG/lo/, <ARG/hi/) </PROTOTY> creates a new array with the same default as <ARG/arr/, and whose values in the range <MATH/[0,hi-lo]/ are equal to the values in <ARG/arr/ in the range <MATH/[lo, hi]/. Raises <VAL>fromList<TY>(elem list * elem) -> array <COMMENT> <PROTOTY> fromList (<ARG/l/, <ARG/el/) </PROTOTY> creates an array using the list of values <ARG/l/ plus the default value <ARG/el/. <SPEC> <VAL>tabulate<TY>(int * (int -> elem) * elem) -> array <RAISES> <PROTOTY> tabulate (<ARG/sz/, <ARG/f/, <ARG/el/) </PROTOTY> acts like <VAL>default<TY>array -> elem <COMMENT> <PROTOTY> default <ARG/arr/ </PROTOTY> returns the array's default value. <SPEC> <VAL>sub<TY>(array * int) -> elem <RAISES> <PROTOTY> sub (<ARG/arr/, <ARG/i/) </PROTOTY> returns value of the array at index <ARG/i/. If that value has not been set by <CD/update/, it returns the default value. Raises <VAL>update<TY>(array * int * elem) -> unit <RAISES> <PROTOTY> update (<ARG/arr/, <ARG/i/, <ARG/el/) </PROTOTY> sets the value at index <ARG/i/ of the array <ARG/arr/ to <ARG/el/. Raises <VAL>bound<TY>array -> int <COMMENT> <PROTOTY> bound <ARG/arr/ </PROTOTY> returns an upper bound on the index of values that have been changed. <SPEC> <VAL>truncate<TY>(array * int) -> unit <COMMENT> <PROTOTY> truncate (<ARG/arr/, <ARG/sz/) </PROTOTY> makes every entry in <ARG/arr/ with index greater than <ARG/sz/ the default value. </INTERFACE>