19 Feb 06:11
templates/macros
From: Peter Amstutz <tetron@...>
Subject: templates/macros
Newsgroups: gmane.comp.lib.vos.devel
Date: 2008-02-19 05:12:09 GMT
Subject: templates/macros
Newsgroups: gmane.comp.lib.vos.devel
Date: 2008-02-19 05:12:09 GMT
Here's a quick brain dump of something I'm working on. The specific
goal is deal with the problem of parameterized types. In this example,
I show how one might define UInt8DynamicArrayProperty as a Property
holding a DynamicArray of UInt8.
The idea is to set up "Template" vobjects which have TemplateParameters
which are stand-ins for links other objects and are substituted when you
actually create a template instance. The "TemplateInstance" vobject
links to the template and some set of parameters, and will have an
"instantiate" method on it which produces a vobject structure with the
appropriate parameter substitution.
Nothing coded yet, so this will likely change. Incidentally, this is
actually fairly similar to the template system coded for the original
hypervos (which runs parts of interreality.org) so this idea of
generalized subtree substitution is likely to be useful beyond the
specific problem I'm trying to solve.
<vobject name="Property" type="/vos/core/Template">
<vobject name="produces" linkTo="/vos/core/Class" />
<vobject name="propertyType" type="/vos/core/TemplateParameter" />
<child name="extends" type="/vos/core/Component" />
<vobject name="value" type="/vos/core/Member">
<child name="param" linkTo="../../propertyType" />
</vobject>
</vobject>
(Continue reading)
RSS Feed