No one has mentioned yet that it's easy to change the associativity of $
within a module in Haskell 98:
import Prelude hiding (($))
infixl 0 $
f$x = f x
or, for the purists,
import Prelude hiding (($))
import qualified Prelude (($))
infixl 0 $
($) = (Prelude.$)
-- Ben