Why is the $! operator right-associative?
问题 I'm just learning Haskell and I'm still not entirely clear on when and how strict evaluation is forced When I want a function to evaluate its arguments strictly I find myself writing ((f $! x) $! y ) $! z which seems weird. Shouldn't $! be left-associative so I could write f $! x $! y $! z and have it do what I want? Am I completely misunderstanding the $! operator? 回答1: Argument against I found a proposal from 2008 in haskell-prime to make the $ and $! operators left-associative: https://ghc