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.

  1. type Setter s t a b = forall (f :: Type -> Type) . Settable f => a -> f b -> s -> f t

    microformats2-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 idid
    over l f . over l g ≡ over l (f . g)
    
    These can be stated more directly:
    l purepure
    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)]
    

  2. type Setter' s a = Setter s s a a

    microformats2-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
    

  3. type Setting (p :: Type -> Type -> Type) s t a b = p a Identity b -> s -> Identity t

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

  4. type Setting' (p :: Type -> Type -> Type) s a = Setting p s s a a

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

  5. type SetMultimap = Multimap Set

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

  6. type SetMultimap = Multimap Set

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

  7. SetDefault :: CascadeAction

    persistent-mtl Database.Persist.Sql.Shim

    No documentation available.

  8. SetNull :: CascadeAction

    persistent-mtl Database.Persist.Sql.Shim

    No documentation available.

  9. SetDefault :: CascadeAction

    persistent-redis Database.Persist.Redis

    No documentation available.

  10. SetNull :: CascadeAction

    persistent-redis Database.Persist.Redis

    No documentation available.

Page 18 of many | Previous | Next