On Sep 27, 2006, at 2:32 AM, Mathieu Bouchard wrote:
On Tue, 26 Sep 2006, Hans-Christoph Steiner wrote:
I should add, the next key step is to remove as many classes as
possible from the root namespace (i.e. compiled into Pd).
I should add, that it should be possible to achieve proper
namespacing without moving anything out of the root namespace.
BTW, here's an idea that I consider interesting regarding
namespaces. Currently, the objectmaker of pd holds all classnames
of pd and maps them to creators using its methodtable. Now what if
"the" objectmaker was just "an" objectmaker among others? Think:
namespace = objectmaker.
For example, each patch gets its own objectmaker, and each
objectmaker has a class_addanything which causes a fallback of any
unknown classname to a parent namespace. Eventually, asking for
creation of a [+] box crawls up a chain that leads back to the root
namespace, if none of the objectmakers in the chain defines a +
method.
That way, we avoid coding extra namespace-handling features and
avoid creating a bunch of symbols with slashes in them and we reuse
the features already in pd.
This idea should raise a few questions and a few eyebrows but I
believe that it's an idea worth considering and which could pay off.
Sounds like an interesting idea. But how does it map to the filesystem?
For many, it would be trivial to do, just compile them as
individual objects in a libdir. I've already done this for
x_list.c, x_net.c, and a couple others. Things like
x_arithmatic.c will be trickier, but this does not have to happen
at once. It can happen incrementally.
I can't think of why x_arithmetic.c would be trickier, maybe you
can explain. What I believe will be really trickier are things that
are even more elementary to the pd language: [pd] [inlet] [outlet]
[objectmaker] [canvasmaker] [struct] [loadbang].
Its trickier because of the build dependencies. As for [pd] [inlet]
[outlet] [objectmaker] [canvasmaker] [struct] [loadbang], somethings
need to be in the core of the language. Something like [import]
would be needed too. Think reserved words.
.hc
_______________________________________________
PD-dev mailing list
[email protected]
http://lists.puredata.info/listinfo/pd-dev