-
Notifications
You must be signed in to change notification settings - Fork 0
Identifier
Considering that Meta service will be available (at a later time), I am free to narrow all access to Identifiers. The identifier has a unique name locally in its containing Unit/Type if it is in the Meta environment; or the Identifier is provided by the Storage of the primary aspect.
Consequentially, the ID can be added to the currently pseudo-generated sources as constant language elements (like enums), and subsequent sources can refer to that constant. Naturally, Deployment must ensure the uniqueness of the assigned values. On the other hand, Meta is also responsible for mapping these IDs to any string parsed from streams. Of course, tool components (like Serializer or TreeWalker) should be able to enumerate the fields in a type, and recall the actual names from IDs.
This results strong typing in Dust. However, I should be able to deal with external data sources, where types are unknown, like parsing external data streams for further analysis and processing. I have good experience with using temporal types in this case. The parser does ID management, but now it also generates the "weak" type objects on the fly. The result is that for the higher tools layers, the strong and weak typing is transparent (although they can test the actual type if that is temporal or strong).