lens-5.2.3: Lenses, Folds and Traversals
Copyright(C) 2012-16 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityprovisional
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.HashSet.Lens

Description

 
Synopsis

Documentation

setmapped :: (Eq j, Hashable j) => IndexPreservingSetter (HashSet i) (HashSet j) i j Source #

This Setter can be used to change the type of a HashSet 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.

setOf :: Hashable a => Getting (HashSet a) s a -> s -> HashSet a Source #

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

setOf :: Hashable a         => Getter s a     -> s -> HashSet a
setOf :: (Eq a, Hashable a) => Fold s a       -> s -> HashSet a
setOf :: Hashable a         => Iso' s a       -> s -> HashSet a
setOf :: Hashable a         => Lens' s a      -> s -> HashSet a
setOf :: (Eq a, Hashable a) => Traversal' s a -> s -> HashSet a

hashMap :: forall a p f. (Profunctor p, Functor f) => p (HashMap a ()) (f (HashMap a ())) -> p (HashSet a) (f (HashSet a)) Source #

An Iso between a HashSet and a HashMap with unit values. \(\mathcal{O}(1)\).