title: backing file in memory explaination
body: <p>In another thread <a href="https://stackoverflow.com/questions/5287817/the-best-way-to-construct-a-function-with-memory/5291299#5291299">The best way to construct a function with memory</a>, it was described how to back in file a function:</p>
  
  <pre><code>$runningLogFile = "/some/directory/runningLog.txt";
  flog[x_, y_] := flog[x, y] = f[x, y] /.
  v_ :&gt; (PutAppend[Unevaluated[flog[x, y] = v;], $runningLogFile]; v)
  </code></pre>
  
  <p>I feel like I understand most of the ingredients here without understanding exactly how this works. Any chance someone could walk me through exactly how this is evaluated?</p>