filter -package:conduit -package:containers -package:pipes

filter, applied to a predicate and a list, returns the list of those elements that satisfy the predicate; i.e.,
filter p xs = [ x | x <- xs, p x]
>>> filter odd [1, 2, 3]
[1,3]
filter p xs removes any elements from xs that do not satisfy p.
O(n) filter, applied to a predicate and a ByteString, returns a ByteString containing those characters that satisfy the predicate.
O(n) filter, applied to a predicate and a ByteString, returns a ByteString containing those characters that satisfy the predicate.
O(n) filter, applied to a predicate and a ShortByteString, returns a ShortByteString containing those characters that satisfy the predicate.
O(n) filter, applied to a predicate and a Text, returns a Text containing those characters that satisfy the predicate.
O(n) filter, applied to a predicate and a stream, returns a stream containing those characters that satisfy the predicate. Properties
unstream . filter p . stream = filter p
O(n) filter, applied to a predicate and a ByteString, returns a ByteString containing those characters that satisfy the predicate.
O(n) filter, applied to a predicate and a ByteString, returns a ByteString containing those characters that satisfy the predicate.
Filter all keys/values that satisfy some predicate.
O(n) Drop all elements that do not satisfy the predicate.
Drop elements which do not satisfy the predicate
Drop elements which do not satisfy the predicate
O(n) Drop all elements that do not satisfy the predicate.
O(n) Drop all elements that do not satisfy the predicate.
O(n) Drop all elements that do not satisfy the predicate.
O(n) Drop all elements that do not satisfy the predicate.
Filter this map by retaining only elements which values satisfy a predicate.
Filter this set by retaining only elements satisfying a predicate.
Generates a value that satisfies a predicate. Shrinks of the generated value will also satisfy the predicate. From the original generator's shrink tree, any values that fail the predicate will be removed, but any subsequent shrinks that satisfy it will be retained. Compared to filter, shrinking may be slower but will be optimal. It's possible that the predicate will never pass, or will only pass at a larger size than we're currently running at. To avoid looping forever, we limit the number of retries, and grow the size with each retry. If we retry too many times then the whole generator is discarded.
Returns a tree containing only elements that match the predicate. If the root of the tree does not match the predicate then Nothing is returned.