Copyright | (C) 2012-16 Edward Kmett |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | provisional |
Portability | MPTCs, Rank2Types, LiberalTypeSynonyms |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- ixmapped :: (IArray a e, Ix i, Ix j) => (i, i) -> IndexPreservingSetter (a j e) (a i e) i j
Setters
ixmapped :: (IArray a e, Ix i, Ix j) => (i, i) -> IndexPreservingSetter (a j e) (a i e) i j #
This setter
can be used to derive a new IArray
from an old IAarray
by
applying a function to each of the indices to look it up in the old IArray
.
This is a contravariant Setter
.
ixmap
≡over
.
ixmapped
ixmapped
≡setting
.
ixmap
over
(ixmapped
b) f arr!
i ≡ arr!
f ibounds
(over
(ixmapped
b) f arr) ≡ b