úÎ'ú$q6      !"#$%&'()*+,-./012345(c) Fumiaki Kinoshita 2015BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> provisional non-portable Trustworthy /234:OTLike 67, but you can remove elements instead of updating them.A definition of ! must satisfy the following laws: identity (7 . Just) "a 7 composition8 . 9 ( f) .  g "a  (8 . 9 ( f) . g))Parametricity implies the naturality law: t .  f "a  (t . f) : f "a  (9 ; . f) 8 . 9 ( f) .  g "a  (x -> 8 $ 9 (b -> (b&&)  $ f x) (g x)Like <, but it include = effects.Formally, the class  represents a functor from  Kleisli Maybe to Hask.A definition of ! must satisfy the following laws: identity Just "a id composition f .  g "a  (f <=< g)Like >.  "a  ?  f .  g "a filter (@ (A) f g))This is used to characterize and clone a   . Since FilterLike (Peat a b) s t a bA is monomorphic, it can be used to store a filter in a container.  A simple  .  A simple  . A   is like a  Xhttp://hackage.haskell.org/package/lens-4.13.2.1/docs/Control-Lens-Type.html#t:Traversal Traversal#, but you can also remove targets. 'This type allows combinators to take a   specializing the parameter f.Reconstitute a   from its monomorphic form. is actually ?, but left for consistency.  "a B through a filter. through a filter. through a filter.1Filter each element of a structure targeted by a  .  = B  A variant of  that works on C. is  with its arguments flipped./Remove the duplicate elements through a filter.IRemove the duplicate elements through a filter. It is often faster than ., especially when the comparison is expensive.zRemoves duplicate elements from a list, keeping only the first occurrence. This is asymptotically faster than using  from  Data.List.jRemoves duplicate elements from a list, keeping only the first occurrence. This is usually faster than <, especially for things that have a slow comparion (like D).6  !"#$%&'()*+,-./012345   /  !"#$%&'()*+,-./012345E       !"#$%&'()*+,-./0123456789:;9<=9>?9<@9:A9<B9<C9<D9E9<F9<GHIJ9<KLMN9<OP%witherable-0.2-4t7xvq6KFypGgIkPqP2ye7Data.Witherable Data.Listnub WitherablewitherfilterA FilterablemapMaybe catMaybesfilterPeatrunPeatFilter' FilterLike'Filter FilterLike cloneFilterwitherOf forMaybeOf mapMaybeOf catMaybesOf filterAOffilterOfforMaybewitherMblightMordNubOf hashNubOfordNubhashNub$fWitherableMaybeT$fFilterableMaybeT$fWitherableCompose$fFilterableCompose$fWitherableSeq$fFilterableSeq$fWitherableVector$fFilterableVector$fWitherableConst$fFilterableConst$fWitherableProxy$fFilterableProxy$fWitherableHashMap$fFilterableHashMap$fWitherableMap$fFilterableMap$fWitherableIntMap$fFilterableIntMap$fWitherable[]$fFilterable[]$fWitherableEither$fFilterableEither$fWitherableMaybe$fFilterableMaybe$fApplicativePeat $fFunctorPeatbaseData.Traversable TraversableGHC.BasepureData.Functor.ComposeComposefmaptraverseJustFunctorMaybe Data.MaybeidliftA2ghc-prim GHC.Classes&&fliptransformers-0.5.2.0Control.Monad.Trans.MaybeMaybeTString