[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