[M3devel] external in module?

Tony Hosking hosking at cs.purdue.edu
Mon Feb 11 23:40:44 CET 2008


Not sure...

On Feb 11, 2008, at 4:33 PM, Dragiša Durić wrote:

> But... We DO HAVE dynamic loading, and it's not altogether unlike
> Java :).
>
> Did these patches of mine made to CM3 HEAD?
>
> dd
>
> On Mon, 2008-02-11 at 12:52 -0500, Tony Hosking wrote:
>> 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
>>>
>>
> -- 
> Dragiša Durić <dragisha at m3w.org>




More information about the M3devel mailing list