title: Scala Tuple Deconstruction
body: <p>I am new to Scala, and ran across a small hiccup that has been annoying me.</p>
  
  <p>Initializing two vars in parallel works great: <code>var (x,y) = (1,2)</code></p>
  
  <p>However I can't find a way to assign new values in parallel: <code>(x,y) = (x+y,y-x) //invalid syntax</code></p>
  
  <p>I end up writing something like this: <code>val xtmp = x+y; y = x-y; x = xtmp</code></p>
  
  <p>I realize writing functional code is one way of avoiding this, but there are certain situations where vars just make more sense.</p>
  
  <p>I have two questions:</p>
  
  <p>1) Is there a better way of doing this? Am I missing something?</p>
  
  <p>2) What is the reason for not allowing true parallel assignment?</p>