Haskell partial function application with $
问题 I'm new to Haskell and looking at a simple example of using function application with $ . It seems straightforward - it takes a function and applies it to a value. So this makes sense: > (+3) $ 2 5 This also makes sense: > ($) (+3) 2 5 This makes sense because the first argument is the function, and the second argument is the value. Now considering using $ to create a partial function. Looking at types, this makes sense - it just needs a Num type value for b : > :t ($) (+3) ($) (+3) :: Num b