-
Notifications
You must be signed in to change notification settings - Fork 0
Unifying All Descriptors into a Single EntryType
The current MAP Descriptors design includes separate EntryTypes for HolonDescriptors and ValueDescriptors. Continuing this trajectory would require scaffolding new EntryTypes for PropertyDescriptor, RelationshipDescriptor and DanceDescriptor. This is extra effort and extra code bulk. This seems the opportune time to re-consider unifying all descriptors into single EntryType. This document sketches some options and challenges.
In this approach, the TypeDescriptor is represented via an enum, with variants for each type of descriptor. One of those variants is the ValueTypeDescriptor which, itself, is an enum. By including the header
in each descriptor type, they can each stand on their own, independently. This allows references to these descriptors to be specifically typed to take advantage of Rust type checking.