Basic operations on 2-dimensional arrays.
F# and .NET multi-dimensional arrays are typically zero-based.
However, .NET multi-dimensional arrays used in conjunction with external
libraries (e.g. libraries associated with Visual Basic) be
non-zero based, using a potentially different base for each dimension.
The operations in this module will accept such arrays, and
the basing on an input array will be propogated to a matching output
array on the Array2.map and Array2.mapi operations.
Non-zero-based arrays can also be created using Array2.zero_create_based,
Array2.create_based and Array2.init_based.
Immutable maps using structural comparison
Maps based on structural comparison are
efficient. They are not a suitable choice if keys are recursive data structures
or require non-structural comparison semantics.
The type of immutable singly-linked lists.
Use the constructors [] and :: (infix) to create values of this type, or
the notation [1;2;3]. Use the values in the List module to manipulate
values of this type, or pattern match against the values directly.
Note: an abbreviation for List<'a>
The type of immutable singly-linked lists.
Use the constructors [] and :: (infix) to create values of this type, or
the notation [1;2;3]. Use the values in the List module to manipulate
values of this type, or pattern match against the values directly.
Immutable maps. Keys are ordered by F# generic comparison.
Maps based on generic comparison are efficient for small keys. They are not a suitable choice if keys are recursive data structures
or if keys require bespoke comparison semantics.
Immutable sets based on binary trees, where comparison is the
F# structural comparison function, potentially using implementations
of the IComparable interface on key values.
See the Set module for further operations on sets.
These sets can be used with elements of any type, but you should check that
structural hashing and equality on the element type are correct for your type.