-
-
Notifications
You must be signed in to change notification settings - Fork 34
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
Provide structure in the registry for distinguishing types of options #663
Comments
I don't understand your use of the term "operand" here. In our syntax, the term "operand" means the argument to a function:
Do you mean "option"? |
Whoops, I'll fix that. |
You know, we could also consider separating out options that really are adding to the function's nominal input operand to also be operands. As in, allow for function expressions with more than one operand, such as:
The ABNF change for this would be relatively limited, with something like value-expression = "{" [s]
(literal | variable)
[*(s literal | variable) s annotation]
*(s attribute)
[s] "}" replacing the current |
We could do that, but I think that goes against authoring simplicity as I no longer know what variable is being inserted. In the case of the compound units, primary reason for "multiple operands" is the need to serialize the compound unit in some way. If one has values 2...n, then one can as easily assign them to options as to operands. And this keeps us out of the "find and match the argument" problem:
Otherwise, I'm sure that (for example) Mihai will implement |
For clarity, I would suggest not using the word "effects", since MF functions don't have effects that are observable across different calls (or rather, if they do, that's not behavior the spec can depend on.) That being said, this would be helpful for addressing #515 . You could think of this as a "data model" for runtime values, not just for messages. |
I think this item might now be stale, with the resolved value work that's been done. Marking to consider for closure in the 2024-11-11 call. |
I think in the registry we need to be very clear about the following classes of effects that an option can have. (Of course, an option may do more than one of these)
We'll also have functions that transform the underlying value of an operand (we don't have any right now, but we will absolutely need that for offsets in order to support a core MF1.0 feature).
The text was updated successfully, but these errors were encountered: