Portability | portable |
---|---|
Stability | provisional |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Safe Haskell | Safe-Infered |
Documentation
setmapped :: (Ord i, Ord j) => Setter (Set i) (Set j) i jSource
This Setter
can be used to change the type of a Set
by mapping
the elements to new values.
Sadly, you can't create a valid Traversal
for a Set
, but you can
manipulate it by reading using folded
and reindexing it via setmap
.
>>>
:m + Data.Set.Lens Control.Lens
>>>
over setmapped (+1) (fromList [1,2,3,4])
fromList [2,3,4,5]
setOf :: Getting (Set c) a c -> a -> Set cSource
Construct a set from a Getter
, Fold
, Traversal
, Lens
or Iso
.
>>>
:m + Data.Set.Lens Control.Lens
>>>
setOf (folded._2) [("hello",1),("world",2),("!!!",3)]
fromList [1,2,3]
setOf ::Getter
a c -> a ->Set
c setOf ::Ord
c =>Fold
a c -> a ->Set
c setOf ::Simple
Iso
a c -> a ->Set
c setOf ::Simple
Lens
a c -> a ->Set
c setOf ::Ord
c =>Simple
Traversal
a c -> a ->Set
c