:: a -> (a -> b) -> b -package:diagrams-lib -package:quaalude -package:lens-family-core -package:config-ini package:Cabal-syntax
& is a reverse application operator
Reverse function application which binds tighter than
<$>
and
<*>. Useful for refining grammar specification.
<*> monoidalFieldAla "extensions" (alaList' FSep MQuoted) oldExtensions
^^^ deprecatedSince [1,12] "Please use 'default-extensions' or 'other-extensions' fields."
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
zipWith ($) fs xs.
Note that
($) is representation-polymorphic in its
result type, so that
foo $ True where
foo :: Bool
-> Int# is well-typed.
Strict (call-by-value) application operator. It takes a function and
an argument, evaluates the argument to weak head normal form (WHNF),
then calls the function with that value.