[M3devel] external in module?

Tony Hosking hosking at cs.purdue.edu
Mon Feb 11 18:52:33 CET 2008


This would be a bigger issue if we had dynamic loading like Java.  To  
some degree, m3makefile imports give us some protection against name  
clashes.  But, I do see your point that a name clash may prevent  
reuse of separately developed packages.

On Feb 11, 2008, at 12:19 PM, Olaf Wagner wrote:

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




More information about the M3devel mailing list