**Packages**- base
- parallel
- deepseq
- syb
- containers

Application operator. This operator is redundant, since ordinary application (f x) means the same as (f $ x). However, $ has low, right-associative binding precedence, so it sometimes allows parentheses to be omitted; for example:
> f $ g $ h x = f (g (h x))
It is also useful in higher-order situations, such as map ($ 0) xs, or Data.List.zipWith ($) fs xs.

Strict (call-by-value) application, defined in terms of seq.

Sequential function application. The argument is evaluated using the given strategy before it is given to the function.

Parallel function application. The argument is evaluated using the given strategy, in parallel with the function application.

the deep analogue of $!. In the expression f $!! x, x is fully evaluated before the function f is applied to it.

Apply a transformation everywhere in bottom-up manner

Apply a transformation everywhere in top-down manner

Extend a generic query by a type-specific case

Type extension of queries for type constructors

ext2Q :: (Data d, Typeable2 t) => (d -> q) -> (forall d1 d2. (Data d1, Data d2) => t d1 d2 -> q) -> d -> q

Type extension of queries for type constructors

until p f yields the result of applying f until p holds.

The maybe function takes a default value, a function, and a Maybe value. If the Maybe value is Nothing, the function returns the default value. Otherwise, it applies the function to the value inside the Just and returns the result.

Function composition.

iterate f x returns an infinite list of repeated applications of f to x:
> iterate f x == [x, f x, f (f x), ...]

map f xs is the list obtained by applying f to each element of xs, i.e.,
> map f [x1, x2, ..., xn] == [f x1, f x2, ..., f xn]
> map f [x1, x2, ...] == [f x1, f x2, ...]

An infix synonym for fmap.