-
-
Notifications
You must be signed in to change notification settings - Fork 36
External Selectors - Consensus Summary #137
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
Comments
@stasm @zbraniecki friendly reminder for next meeting, we said that before we vote we would write down a short summary about the consensus. In any case will be added to the next meeting agenda cc @echeran |
In case @stasm or @zbraniecki don't get around to it, here's a draft of the consensii that I believe we've reached on this topic: Consensus 1: Discussion: While message references make it technically possible for the data model to represent multi-argument selectors otherwise, this requires the use of n²-1 artificial "messages", where n is the number of arguments. This is not desirable. Consensus 2: Discussion: After an in-depth exploration of the problem space, we have determined that while selectors are a necessary feature of MessageFormat, it is not necessary for them to be available within the body of a message, or directly within a case of a parent selector. All identified use cases of such constructions may be cleanly represented using a top-level selector that may use more than one input argument to select among a set of messages. Furthermore, we may enable complete reversibility of message transformations to and from languages such as MessageFormat 1 and Fluent by using message references. |
Thanks, @eemeli, this looks great. @zbraniecki and I met on Friday to discuss this too, and Zibi then wrote down the following summary:
I think Eemeli's proposal does a good job of capturing the actual points of agreement, while Zibi's is a good executive summary of the discussion we've had. I suggest we go with the wording proposed by Eemeli. It also explicitly mentions the ability to select on more than one input argument. OTOH, I know that it was important for Zibi that we not ban internal selectors right away, in case of a change of heart in the future. I wonder -- is it generally implied that we're willing to revisit past decision in light of new arguments, or do you think it's worth calling this out here explicitly? |
I think that assumption that were willing to revisit a decision in the light of new evidence is implicit. In this case my focus is different. I believe it is important to explicitly recognize that while we decided not to include nested selectors, we recognize that it is a big feature that provides significant potential value and since the use of it has not been sufficiently explored by any localization system we made our decision without ability to evaluate in-field experience and value of that feature. I think this is substantially different from a regular "in light of new evidence we may revisit" in that: *) It's not about us revisiting. It's about trying not to block some other work group in the future out of the ability to extend the result of our work with the feature I believe those points are significantly different from what you described. |
To illustrate my point with an example: i see this analogous to a scenario where CSS work group decides to not include variables in CSS 1.0 but recognizes the potential value and therefore documents an intent to try to design CSS 1.0 in such a way that would not block future addition of variables in following revisions. |
Draft of the follow-up consensuses: Consensus 5:Top Level Selectors together with Message References provides the same value as Nested Selectors at a lower cost. Discussion:Nested Selectors provides capabilities that may be useful in avoiding variant permutation explosion in edge cases, but the use of them has not been evaluated in production localization systems to date. Consensus 6:The group will attempt to avoid blocking addition of Nested Selectors in the future revisions of the standard. Discussion:The cost analysis of Nested Selectors feature was performed in the absence of the sufficient in-field experience of use in production systems. In result, the group's decision to reject the feature is based on the lack of sufficient known value that would require them, which the group recognizes may change in the future. |
Is your feature request related to a problem? Please describe.
In order to get consensus for External selectors we need a summarized text for all pros/cons and agreements we are getting the consensus. Having those ideias from last meeting the responsible for this tasks would prepare a concise paragraph/text/bullet points describing the context and decisions.
The text was updated successfully, but these errors were encountered: