| 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 | Haskell2010 |
Data.IntSet.Lens
Description
Documentation
members :: Fold IntSet Int Source #
IntSet isn't Foldable, but this ReifiedFold can be used to access the members of an IntSet.
>>>sumOf members $ setOf folded [1,2,3,4]10
setmapped :: IndexPreservingSetter' IntSet Int Source #
This ReifiedSetter can be used to change the contents of an IntSet by mapping
the elements to new values.
Sadly, you can't create a valid ReifiedTraversal 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 ReifiedGetter, ReifiedFold, ReifiedTraversal, ReifiedLens or ReifiedIso.
>>>setOf folded [1,2,3,4]fromList [1,2,3,4]
>>>setOf (folded._2) [("hello",1),("world",2),("!!!",3)]fromList [1,2,3]
setOf::ReifiedGettersInt-> s ->IntSetsetOf::ReifiedFoldsInt-> s ->IntSetsetOf::Iso'sInt-> s ->IntSetsetOf::Lens'sInt-> s ->IntSetsetOf::Traversal'sInt-> s ->IntSet