<div dir="ltr"><div><div><div><div><div><div><div><div>I usually say that any kind of assumption binding the file system to the module system of the programming language is a mistake.<br><br></div>* You can't use another transport such as a socket for moving data around.<br></div>* You are bound by file system lookups for loading modules.<br></div>* You can't do nested modules well and have to rely on odd file system directory structures<br></div>* The programmer can't name things logically and are forced to obey the system<br></div>* You can't split the same module into multiple files<br></div>* You can't have multiple modules in one file<br><br></div>One language which doesn't make this mistake is Standard ML. You have another layer in some SML systems, the .mlb file, which then groups files into a collection of modules, including export/import renaming, stdlib selection, extension selection and so on.<br> <br></div>Were I to create a language, this would be my solution as well.<br> <br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 17, 2016 at 10:45 AM, Konstantin Vsochanov <span dir="ltr"><<a href="mailto:kost@rol.ru" target="_blank">kost@rol.ru</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi!<br>
<br>
I’m working with Erlang for two years now and enjoy every day of using<br>
it. However, there are some strange  features I’m wondering about. One<br>
of them -module() attribute.<br>
<br>
 The module name is strictly defined by the name of the .erl file. You<br>
can’t change module name with -module() attribute. But the the -module()<br>
attribute is mandatory. Why? Why we need -module() attribute at all?<br>
Maybe we can make -module() optional in next Erlang release? So we don’t<br>
need to repeat file name in first string of every .erl file. Or maybe I<br>
miss something important?<br>
<br>
Feedback is appreciated!<br>
<br>
- Konstantin Voschanov<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">J.</div>
</div>