<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>Lack of hierarchical namespaces in Modula-3 has long bugged me, but I actually pretty much got over it.<BR>
So agreed. :)<BR>
 <BR>
Yes it sounds like the builder, not the language, has a bug.<BR>
 <BR>
 - Jay<BR><BR><BR>

<HR id=stopSpelling>
<BR>
> Date: Mon, 11 Feb 2008 18:19:59 +0100<BR>> From: wagner@elegosoft.com<BR>> To: hosking@cs.purdue.edu<BR>> CC: m3devel@elegosoft.com<BR>> Subject: Re: [M3devel] external in module?<BR>> <BR>> Quoting Tony Hosking <hosking@cs.purdue.edu>:<BR>> <BR>> > Please -- no hierarchical namespaces. Ultimately, they need a<BR>> > definitive hierarchy anyway.<BR>> <BR>> I wasn't going to write the code, so no need to worry.<BR>> However, if this is not the solution we aim at, then we need to<BR>> do something else about the increasing probability of the builder<BR>> failing because some module in a completely different package<BR>> which I don't even use directly happens to have the same name<BR>> as my internal module and thus cannot be compiled. Or even worse:<BR>> if I use two packages that happen to contain one module of the<BR>> same name and have never been used together before.<BR>> <BR>> Olaf<BR>> <BR>> PS: This reminds me of Leslie Lamports definition of distributed<BR>> computing: when a computer you didn't even know existed<BR>> can render your own computer unusable :)<BR>> <BR>> > On Feb 11, 2008, at 10:02 AM, Olaf Wagner wrote:<BR>> ><BR>> >> Quoting Jay <jayk123@hotmail.com>:<BR>> >><BR>> >>> It'd be nice if I could declare externals in modules.<BR>> >>> In this example, setitimer_ only exists for the wrapper implementation.<BR>> >>> I don't need it to be visible outside the one module that uses it.<BR>> >>> I guess I could push it into an unexposed interface, even dedicate <BR>> >>> "internal.i3" to it?Is that an ok idiom?<BR>> >><BR>> >> Yes, use an internal interface of the package. But you should use<BR>> >> another name (something longer and more unique), since the CM3<BR>> >> builder still has problems with multiple defined units AFAIK.<BR>> >><BR>> >> This is something that should really be fixed, but that's another<BR>> >> topic. (We'd need hierarchical name spaces, but introduce them in<BR>> >> a compatible way.)<BR>> >><BR>> >> Olaf<BR>> >><BR>> >>> It's another problem that I don't know what to call these things..<BR>> >><BR>> >> This usually is _my_ problem :-)<BR>> >> -- <BR>> >> Olaf Wagner -- elego Software Solutions GmbH<BR>> >> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany<BR>> >> phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95<BR>> >> http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin<BR>> >> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194<BR>> >><BR>> <BR>> <BR>> <BR>> -- <BR>> Olaf Wagner -- elego Software Solutions GmbH<BR>> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany<BR>> phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95<BR>> http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin<BR>> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194<BR>> <BR><BR><br /><hr />Helping your favorite cause is as easy as instant messaging. You IM, we give. <a href='http://im.live.com/Messenger/IM/Home/?source=text_hotmail_join' target='_new'>Learn more.</a></body>
</html>