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]].
This module is only available for F# on .NET 2.0.
If using .NET 1.x then use Microsoft.FSharp.Compatiblity.CompatMatrix instead.
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.
Hash tables, by default based on F# structural "hash" and (=) functions.
This is precisely the same type as that manipulated by
the functions in [[Microsoft.FSharp.Compatibility.OCaml.Hashtbl]].
The table may map a single key to multiple bindings.
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# structural comparison, potentially using implementations
of the IComparable interface on key values.
Maps based on structural comparison are
efficient for small keys. They are not a suitable choice if keys are recursive data structures
or require non-structural 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.
Efficiency: Structural comparison is relatively efficient but is not a suitable
choice in all circumstances, e.g. it may not compare efficiently on
non-reference types and deeply-structured types.
Note: The type HashTable has been renamed to HashMultiMap because the type doesn't conform to the expected behaviour of .NET Dictionaries (it can bind keys to multiple values). Please adjust your references to this type