-
-
Notifications
You must be signed in to change notification settings - Fork 36
Remove expression attributes from the data model #632
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Expression attributes were discussed on the 8 Jan call, when we agreed to specifically reserve only their formatting runtime meaning. The meeting notes do not appear to have explicitly captured it, but the discussion did include the data model, where they were kept; this is noted in the subsequent PR #592. |
|
Hmm, that's different from what I remember, but I may be wrong. My understanding was that there was no agreement about whether they're buildtime-only, runtime-only, or both, which is what made us only reserve the syntax. Also, the last comment in the meeting minutes reads (emphasis mine):
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we need to fix the dangling reference in the stability policy, but otherwise forego this change? See comment.
|
There have been a number of developments since I originally filed this PR:
In light of these, I think we should keep the The interface is currently defined as: If in the future we decide to un-reserve attributes, we will be constrained by this exact data model, by our stability policy. Alternatively, we will add a new interface, under a new name, since Instead, we should now start with a generic representation of the reserved syntax for the purpose of the round-trip, and add the proper |
Given that attributes are defined in the syntax as message-format-wg/spec/message.abnf Line 45 in 0c1d40a
what would be the benefit of defining attributes differently in the data model? I don't really see how we might end up with a different representation, given that we're constrained here by the syntax. |
A follow-up to #620.
Expression attributes were proposed in a design doc, which was deemed out of scope for LDML 45. Instead, we decided to reserve the most likely syntax for the; this was done in #592.
That PR reserved the syntax, but also added attributes as a concept in the data model. I think that's wrong and I'd like to suggest to remove expression attributes from the data model.
Our formatting spec explicitly states that the reason for reserving attributes was to be able to perform syntax validity checks:
Furthermore, our stability policy doesn't guarantee anything about the data model:
Interestingly, the policy mentions attributes by name, which I'm also fixing in this PR. The mention was added in #472 together with the rest of the wording of the policy; a mere month after attributes were first proposed in a doc.