title: Equal (=) Vs left arrow (<-) symbols in haskell
body: <p>Working code:</p>
  
  <pre><code>import System
  main = do
       [file1, file2] &lt;- getArgs
       --copy file contents
       str &lt;- readFile file1
       writeFile file2 str
  </code></pre>
  
  <p>Crashing code:</p>
  
  <pre><code>import System
  main = do
         [file1, file2] = getArgs
         str = readFile file1
         writeFile file2 str
  </code></pre>
  
  <p>When I tried, it threw an error as:</p>
  
  <blockquote>
    <p>a.hs:6:18: parse error on input '='</p>
  </blockquote>
  
  <p>So, how different is <code>&lt;-</code> from <code>=</code>?</p>