title: Why are modules explicitly named in files?
body: <p>From the <a href="http://www.digitalmars.com/d/2.0/module.html" rel="nofollow">D language reference</a>:</p>
  
  <blockquote>
    <p>Modules have a one-to-one correspondence with source files. The module name is the file name with the path and extension stripped off.</p>
  </blockquote>
  
  <p>Module names are still specified in files explicitly, though.</p>
  
  <pre><code>module foo;
  </code></pre>
  
  <p>What's the point of this?  If modules correspond to files, why can't the compiler infer what they're called from the file names?</p>