title: Make elixir app recompile and reload on source code change
body: <p>How to automatically recompile and reload my iex + mix application every time I modify the source code?</p>
  
  <p>If there's no way for iex + mix combination to do that, what's the easiest alternative? I've checked phoenix's way to do reload, and it doesn't seems easy to implement for my small test project.</p>
  
  <p>I also know about José's <code>.iex.exs</code> :</p>
  
  <pre><code>defmodule R do
    def reload! do
      Mix.Task.reenable "compile.elixir"
      Application.stop(Mix.Project.config[:app])
      Mix.Task.run "compile.elixir"
      Application.start(Mix.Project.config[:app], :permanent)
    end
  end
  </code></pre>
  
  <p>And I'm not extremely happy since it's not reloading automatically on code change, I still need to type <code>R.reload!</code> on iex.</p>
  
  <p>And.. please help me create "iex" tag on stackoverflow, my reputation is not sufficient :)</p>