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 | Safe-Inferred |
Language | Haskell2010 |
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) (IntSet.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