Frank Barknecht schrieb:
From a user's perspective, I would like to be able to write such things with dots like using [maxlib.gauss] and [footils.gauss] in one patch, assuming both gauss are different external objects in the "namespaces" maxlib and footils.
Then we would only need to manage the toplevel namespaces, which probably would be less work than having to manage all external's names.
I think we should try to find a way to avoid nameclashes! Taking the above example, someone might only be using the maxlib library and thus [gauss] is perfectly allright. Let's say someone else is running Pd with footils library, there one would get gauss from footils... Not what we want, I guess!
On the other hand, I think, it would be rather easy to implement a mechanism that tell's pd from which library to load an object from when typing [libraryname.objectname]. This could be used to force Pd to use gauss from maxlib, not from footils in case both are present. But, right, this makes object boxes much longer.
BTW, what does Pd right now if there are two identical objects? Does the one win that is loaded into Pd first? (I gues the order is Pd core objects -> libraries -> single externals -> abstractions ?)
I'm not sure, how a "using namespace maxlib" could be implemented or be useful in the PD programming language.
We allready have a similar thing when specifying which library to load. I don't see any differences here.
I think the best - and most difficult to implement - way would be to create objects as usual but to save information about the libraries / namespace (invisibly) in the pd patch. In case one of the libraries is missing on another machine, one would get an error message instead of an object from a wrong library. But then we still need a mechanism to force Pd to use a special library.
Olaf