You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Scratch pad of design ideas for a breaking change version of Concerto.
Should be implemented in terms of code generated from the meta model
Should clearly separate the storage of all declarations and their properties from semantic validation
Should separate semantic validation rules from code.
Semantic validation rules should compile to the backend storage layer. They are mostly referential integrity queries and data consistency checks. Some could be explicit on the metadata. E.g. moving from o String superType to --> ClassDeclaration superType would allow the referential integrity check to be generic.
Semantic validation should run async
Should be able to get ALL validation errors, not just the first one
Should be able to detect when/if a model becomes invalid. E.g. raising events.
Should have an edit API to allow declarations to be updated and then re-validated against the rest of the models
Should be FAST and embeddable. C? Zig? Rust? We want a kernel that can be used from multiple languages.
Should support very, very large models. E.g. a graph DB or relational backend as an option? Need some SLAs for this. Should not assume that all models will fit in memory.
Should have indexes for common query patterns. E.g. findDeclarationsByName / findPropertiesByName so that DecoratorManager is fast.
Need to reconcile maps, enums and declarations so maps aren't such as special case in the runtime
Should have a very small core that is just concerned with the above. Can move JSON parsing, generation, validation, serialisation, decoration outside of this core API.
Model the primitive types in the meta model: String, Long, Double, DateTime etc.
Model the base types: Concept, Transaction etc. in the meta model
Context
Detailed Description
The text was updated successfully, but these errors were encountered:
Discussion 🗣
Scratch pad of design ideas for a breaking change version of Concerto.
o String superType
to--> ClassDeclaration superType
would allow the referential integrity check to be generic.findDeclarationsByName
/findPropertiesByName
so thatDecoratorManager
is fast.Context
Detailed Description
The text was updated successfully, but these errors were encountered: