ok I found what I think is the best solution to this problem :-)<div>see:<br><div><a href="http://forum.dlang.org/post/mailman.1002.1370829729.13711.digitalmars-d-learn@puremagic.com">http://forum.dlang.org/post/mailman.1002.1370829729.13711.digitalmars-d-learn@puremagic.com</a><br>
<div><br></div><div><br><br><div class="gmail_quote">On Sun, Jun 9, 2013 at 6:59 PM, Jonathan M Davis <span dir="ltr"><<a href="mailto:jmdavisProg@gmx.com" target="_blank">jmdavisProg@gmx.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Monday, June 10, 2013 11:44:56 Daniel Murphy wrote:<br>
> In this case we can prevent problem simply by not giving functions generic<br>
> names like 'compress'.  Ideally you should be able to import the entire<br>
> standard library with no name conflicts.<br>
<br>
</div>We've actually made the opposite choice when discussing this in the past.<br>
We've specifically gone for making functions which do the same thing in<br>
different modules having the same name (e.g. std.ascii and std.uni), which<br>
makes swapping one for the other easy and avoids having to come up with<br>
distinct names, though it does obviously create more naming conflicts when you<br>
try and mix and match such modules. I'd also point out that it's been argued<br>
that it's a failure of the module system if we're specifically trying to avoid<br>
having different modules have functions with the same name. It's the module<br>
system's job to differentiate such functions, and specifically avoiding naming<br>
stuff the same to avoid naming conflicts means that you're pretty much ignoring<br>
the module system.<br>
<br>
So, the general approach has been to name functions differently when they do<br>
different things and name them the same when they do the same thing and then<br>
let the module system take care of differentiating between the two when you<br>
need to.<br>
<span class="HOEnZb"><font color="#888888"><br>
- Jonathan M Davis<br>
</font></span></blockquote></div><br></div></div></div>