[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