Takes an array and a list of pairs and returns an array identical to
the left argument except that it has been updated by the associations
in the right argument. For example, if m is a 1-origin, n by n matrix,
then
m//[((i,i), 0) | i <- [1..n]] is the same matrix,
except with the diagonal zeroed.
As with the
array function, if any two associations in the list
have the same index, the value at that index is
implementation-dependent. (In GHC, the last value specified for that
index is used. Other implementations will also do this for unboxed
arrays, but Haskell 98 requires that for
Array the value at
such indices is bottom.)
For most array types, this operation is O(
n) where
n is
the size of the array. However, the diffarray package provides an
array type for which this operation has complexity linear in the
number of updates.