$ -deepseq -parsec
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.
Above, except that if the last line of the first argument stops at least one position before the first line of the second begins, these two lines are overlapped. For example:
> text "hi" $$ nest 5 (text "there")
lays out as
> hi there
rather than
> hi
> there
$$ is associative, with identity empty, and also satisfies
* (x $$ y) <> z = x $$ (y <> z), if y non-empty.
Above; if there is no overlap it "dovetails" the two
Above, with no overlapping. $+$ is associative, with identity empty.
Above, without dovetailing.
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.
Replace all locations in the input with the same value. The default definition is fmap . const, but this may be overridden with a more efficient version.
An infix synonym for fmap.