title: Haskell: Purpose of the flip function?
body: <p>I am a bit surprised that this was not asked before. Maybe it is a stupid question.</p>
  
  <p>I know that flip is changing the order of two arguments.</p>
  
  <p>Example:</p>
  
  <pre><code>(-) 5 3
  = 5 - 3
  = 2
  
  flip (-) 5 3
  = 3 - 5
  = -2
  </code></pre>
  
  <p>But why would I need such a function? Why not just change the inputs manually?</p>
  
  <p>Why not just write:</p>
  
  <pre><code>(-) 3 5
  = 3 - 5
  = -2
  </code></pre>