Copyright | (C) 2012-16 Edward Kmett |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Stability | provisional |
Portability | portable |
Safe Haskell | None |
Language | Haskell98 |
Documentation
setmapped :: IndexPreservingSetter' IntSet Int Source
This Setter
can be used to change the contents of an IntSet
by mapping
the elements to new values.
Sadly, you can't create a valid Traversal
for a Set
, because the number of
elements might change but you can manipulate it by reading using folded
and
reindexing it via setmapped
.
>>>
over setmapped (+1) (fromList [1,2,3,4])
fromList [2,3,4,5]
setOf :: Getting IntSet s Int -> s -> IntSet Source
Construct an IntSet
from a Getter
, Fold
, Traversal
, Lens
or Iso
.
>>>
setOf folded [1,2,3,4]
fromList [1,2,3,4]
>>>
setOf (folded._2) [("hello",1),("world",2),("!!!",3)]
fromList [1,2,3]
setOf
::Getter
sInt
-> s ->IntSet
setOf
::Fold
sInt
-> s ->IntSet
setOf
::Iso'
sInt
-> s ->IntSet
setOf
::Lens'
sInt
-> s ->IntSet
setOf
::Traversal'
sInt
-> s ->IntSet