The OP's problem wasn't with the semantics of $. The OP's problem was that the two expression had different parse trees that gave him different results when evaluated. So not only was there parsing happening here, but it was the root cause of his confusion.

Given that the output of GHC's parser was the cause of the confusion, I couldn't think of anything else you might have meant that made sense in context.

On Mon, Jun 8, 2015 at 2:06 PM, Rein Henrichs <rein.henrichs@gmail.com> wrote:
Of course not. What a silly thing to suggest. I'm saying that parsing is not relevant to the behavior of ($). The parser can't tell the *semantic* difference between $ and any other operator.
On Mon, Jun 8, 2015 at 11:02 AM Mike Meyer <mwm@mired.org> wrote:
Are you saying that GHC doesn't have a haskell parser?
On Mon, Jun 8, 2015 at 12:06 PM, Rein Henrichs <rein.henrichs@gmail.com> wrote:
The point is that there is no parsing happening here. Just evaluation.