In Learn you a Haskell, it is given the following example:
map ($ 3) [(4+), (10*), (^2), sqrt]
[7.0,30.0,9.0,1.7320508075688772]
However, I don't understand why this works.
The signatures of the functions are
Prelude> :info ($)
($) :: (a -> b) -> a -> b
Prelude> :t ($ 3)
($ 3) :: Num a => (a -> b) -> b
However, -> is a left-associative operator, so $ :: (a -> b) -> a -> b is actually ((($ :: (a-b))-> a)-> b), so shouldn't 3 in ($ 3) correspond to (a->b) function that is the first "variable" of the function $? i.e why is ($ 3) a function of signature (a -> b) -> b