Hoogle Search
Within Stackage Nightly 2025-09-24 (ghc-9.12.2)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
type
Setter s t a b = forall (f :: Type -> Type) . Settable f => a -> f b -> s -> f tmicroformats2-parser Data.Microformats2.Parser.Util The only LensLike law that can apply to a Setter l is that
set l y (set l x a) ≡ set l y a
You can't view a Setter in general, so the other two laws are irrelevant. However, two Functor laws apply to a Setter:over l id ≡ id over l f . over l g ≡ over l (f . g)
These can be stated more directly:l pure ≡ pure l f . untainted . l g ≡ l (f . untainted . g)
You can compose a Setter with a Lens or a Traversal using (.) from the Prelude and the result is always only a Setter and nothing more.>>> over traverse f [a,b,c,d] [f a,f b,f c,f d]
>>> over _1 f (a,b) (f a,b)
>>> over (traverse._1) f [(a,b),(c,d)] [(f a,b),(f c,d)]
>>> over both f (a,b) (f a,f b)
>>> over (traverse.both) f [(a,b),(c,d)] [(f a,f b),(f c,f d)]
type
Setter' s a = Setter s s a amicroformats2-parser Data.Microformats2.Parser.Util A Setter' is just a Setter that doesn't change the types. These are particularly common when talking about monomorphic containers. e.g.
sets Data.Text.map :: Setter' Text Char
type Setter' = Simple Setter
type
Setting (p :: Type -> Type -> Type) s t a b = p a Identity b -> s -> Identity tmicroformats2-parser Data.Microformats2.Parser.Util This is a convenient alias when defining highly polymorphic code that takes both ASetter and AnIndexedSetter as appropriate. If a function takes this it is expecting one of those two things based on context.
type
Setting' (p :: Type -> Type -> Type) s a = Setting p s s a amicroformats2-parser Data.Microformats2.Parser.Util This is a convenient alias when defining highly polymorphic code that takes both ASetter' and AnIndexedSetter' as appropriate. If a function takes this it is expecting one of those two things based on context.
type
SetMultimap = Multimap Setmore-containers Data.Multimap A multimap with Set values. This multimap implementation will automatically deduplicate values per key. For example:
let mm = fromList [('a', 1), ('a', 1)] :: SetMultimap Char Int size mm == 1 -- True
See Data.Multimap.Set for operations specific to this type.type
SetMultimap = Multimap Setmore-containers Data.Multimap.Set A multimap with Set values. This multimap implementation will automatically deduplicate values per key. For example:
let mm = fromList [('a', 1), ('a', 1)] :: SetMultimap Char Int size mm == 1 -- True
See Data.Multimap.Set for operations specific to this type.-
persistent-mtl Database.Persist.Sql.Shim No documentation available.
-
persistent-mtl Database.Persist.Sql.Shim No documentation available.
-
persistent-redis Database.Persist.Redis No documentation available.
-
persistent-redis Database.Persist.Redis No documentation available.