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`

`>>>`

fromList [2,3,4,5]`adjust setmapped (+1) (fromList [1,2,3,4])`

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`

`>>>`

fromList [1,2,3]`setOf (folded._2) [("hello",1),("world",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