lens-5.0.1: Lenses, Folds and Traversals
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 Trustworthy
Language Haskell2010

Data.Set.Lens

Description

Synopsis

Documentation

setmapped :: Ord j => IndexPreservingSetter ( Set i) ( Set j) i j Source #

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

>>> over setmapped (+1) (Set.fromList [1,2,3,4])
fromList [2,3,4,5]

setOf :: Getting ( Set a) s a -> s -> Set a Source #

Construct a set from a Getter , Fold , Traversal , Lens or Iso .

>>> setOf folded ["hello","world"]
fromList ["hello","world"]
>>> setOf (folded._2) [("hello",1),("world",2),("!!!",3)]
fromList [1,2,3]
setOf ::          Getter s a     -> s -> Set a
setOf :: Ord a => Fold s a       -> s -> Set a
setOf ::          Iso' s a       -> s -> Set a
setOf ::          Lens' s a      -> s -> Set a
setOf :: Ord a => Traversal' s a -> s -> Set a