<html>

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:Arial;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
span.Typed
        {font-family:"Courier New";}
span.tty
        {font-family:"Courier New";}
span.Name
        {font-style:italic;}
span.Variable
        {font-family:"Times New Roman";
        font-style:italic;}
span.typed0
        {font-family:"Courier New";}
span.name0
        {font-style:italic;}
span.variable0
        {font-family:"Times New Roman";
        font-style:italic;}
span.emailstyle22
        {font-family:Arial;
        color:navy;}
span.EmailStyle25
        {font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=blue>

<div class=Section1>

<p class=MsoNormal><span style='color:navy'>You know, I sent this in jest, but
now that I think about it, it’s not such a bad idea.  You can define
a macro giving a better name for the module so you don’t have to keep
using the GUID.  Howzat?</span></p>

<p class=MsoNormal><span style='color:navy'> </span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-family:Consolas;
color:navy'>-define(stringlib, 'a613fd8b-647c-4b1a-9f4c-810f0b99993a')</span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-family:Consolas;
color:navy'>. . .</span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-family:Consolas;
color:navy'>?stringlib:reverse(…)</span></p>

<p class=MsoNormal><span style='color:navy'> </span></p>

<p class=MsoNormal><span style='color:navy'>DBM</span></p>

<p class=MsoNormal><span style='color:navy'> </span></p>

<div>

<div class=MsoNormal align=center style='text-align:center'>

<hr size=2 width="100%" align=center tabindex=-1>

</div>

<p class=MsoNormal><b><span style='font-family:Tahoma'>From:</span></b><span
style='font-family:Tahoma'> David Mercer [mailto:dmercer@gmail.com] <br>
<b>Sent:</b> Friday, March 07, 2008 11:09<br>
<b>To:</b> 'erlang-questions'<br>
<b>Subject:</b> RE: [erlang-questions] packages (was: newbie: why c.erl is
special?)</span></p>

</div>

<p class=MsoNormal> </p>

<p class=MsoNormal><span style='color:navy'>Maybe we should name all our
modules with a GUID.  That would reduce the likelihood of module name
clashes down close to zero.</span></p>

<p class=MsoNormal><span style='color:navy'> </span></p>

<p class=MsoNormal><span style='font-family:Wingdings;color:navy'>J</span></p>

<p class=MsoNormal><span style='color:navy'> </span></p>

<p class=MsoNormal><span style='color:navy'>Cheers,</span></p>

<p class=MsoNormal><span style='color:navy'> </span></p>

<p class=MsoNormal><span style='color:navy'>DBM</span></p>

<p class=MsoNormal><span style='color:navy'> </span></p>

<div>

<div class=MsoNormal align=center style='text-align:center'>

<hr size=2 width="100%" align=center tabindex=-1>

</div>

<p class=MsoNormal><b><span style='font-family:Tahoma'>From:</span></b><span
style='font-family:Tahoma'> erlang-questions-bounces@erlang.org
[mailto:erlang-questions-bounces@erlang.org] <b>On Behalf Of </b>Robert Virding<br>
<b>Sent:</b> Thursday, March 06, 2008 17:57<br>
<b>To:</b> Steve Vinoski<br>
<b>Cc:</b> erlang-questions<br>
<b>Subject:</b> Re: [erlang-questions] packages (was: newbie: why c.erl is
special?)</span></p>

</div>

<p class=MsoNormal> </p>

<p class=MsoNormal>On 06/03/2008, <b>Steve Vinoski</b> <<a
href="mailto:vinoski@ieee.org">vinoski@ieee.org</a>> wrote:</p>

<div>

<blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;
margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt'>

<p class=MsoNormal>On 3/6/08, Sean Hinde <<a
href="mailto:sean.hinde@gmail.com">sean.hinde@gmail.com</a>> wrote:<br>
>  One of the worst aspects of this would be the endless
traversing up<br>
>  and down interminable directory hierarchies. Soon we would need
a full<br>
>  IDE just to help us find the definition of a module in the
filesystem.<br>
<br>
<br>
YES! I was about to point out the same thing, and I'm very glad to<br>
know I'm not alone in my thinking. Java's abuse of the filesystem in<br>
this manner is very annoying, for example, and pushing Erlang to that<br>
model would be a huge mistake IMO.</p>

</blockquote>

<div>

<p class=MsoNormal><br>
One of our original goals, which is seldom mentioned today, was that we wanted
to keep the language *simple*! Then many programmers in Ericsson, who were out
potential users, were not very experienced and not well trained in the
art/science of programming. This is one reason why features considered standard
were added later. This may not have been a good design decision but it did
result in a small simple base language. I have read on the net discussions
about designing languages for the masses, or not.<br>
<br>
And, whatever its warts, a flat module system is easy to comprehend. If you
call module foo there is only one module foo to which it can refer,
irrespective of from where it is called. And you can always use naming
conventions to handle the case of many modules in an application or sub-system.</p>

</div>

<p class=MsoNormal> </p>

</div>

<p class=MsoNormal style='margin-bottom:12.0pt'>Robert</p>

</div>

</body>

</html>