This issue intends to explore eliminating the need for CompositeValueDescriptors and either abandoning that approach or implementing it.
Having both HolonDescriptor and CompositeDescriptor is awkward. They are identical in all respects EXCEPT the former can participate in relationships and the latter cannot. Now that the approach to representing relationships is getting clearer, as is the HolonCaching strategy, the cost of materializing composite objects is less.
On the other hand, there are advantages to having light-weight composites to compose new kinds of value types. For example, a Date consists of Month, Day and Year components. Should Date be a HolonType? How about quantified value, consisting of value and unit_of_measure? Should QuantifiedValue be a HolonType (requiring a SmartLink and RelationshipDescriptor, etc.)?
This issue intends to explore eliminating the need for CompositeValueDescriptors and either abandoning that approach or implementing it.
Having both HolonDescriptor and CompositeDescriptor is awkward. They are identical in all respects EXCEPT the former can participate in relationships and the latter cannot. Now that the approach to representing relationships is getting clearer, as is the HolonCaching strategy, the cost of materializing composite objects is less.
On the other hand, there are advantages to having light-weight composites to compose new kinds of value types. For example, a Date consists of Month, Day and Year components. Should Date be a HolonType? How about quantified value, consisting of value and unit_of_measure? Should QuantifiedValue be a HolonType (requiring a SmartLink and RelationshipDescriptor, etc.)?