Haskell parsing rules are very simple. If we ignore infix operators ( +, &&etc.), there is only one rule:
a b c d eparsed as (((a b) c) d) e.
, , a (b c d) e. ( , , .)
,
( ( (const const) (negate 1) ) (negate 2) ) 3
const const (negate 1) const. (negate 2) const 3.