lens-1.4.1: Lenses, Folds and Traversals

Portabilityportable
Stabilityprovisional
MaintainerEdward Kmett <ekmett@gmail.com>
Safe HaskellSafe-Infered

Data.IntSet.Lens

Description

 

Synopsis

Documentation

contains :: Int -> Simple Lens IntSet BoolSource

This Lens can be used to read, write or delete a member of an IntSet

 ghci> contains 3 +~ False $ fromList [1,2,3,4]
 fromList [1,2,4]
 contains :: Int -> (Bool -> f Bool) -> IntSet -> f IntSet

members :: Setter IntSet IntSet Int IntSource

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 setmap.

 ghci> adjust members (+1) (fromList [1,2,3,4]
 fromList [2,3,4,5]

setOf :: Getting IntSet a b Int d -> a -> IntSetSource

Construct an IntSet from a Getter, Fold, Traversal, Lens or Iso.

 setOf :: Getter a Int        -> a -> IntSet
 setOf :: Fold a Int          -> a -> IntSet
 setOf :: Iso a b Int d       -> a -> IntSet
 setOf :: Lens a b Int d      -> a -> IntSet
 setOf :: Traversal a b Int d -> a -> IntSet