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
Drop redundant 'expression' #2085
Conversation
I've left "Zvalue expression" in two places where it was talking about evaluating; talking about "evaluating a Zvalue" sounds strange (there's already a value, right?). Evaluating an expression sounds a lot better. |
Wait, wait, wait... I think you also need to fix value category definition: "This property of an expression is called its value category." If "Zvalue" is a property of an expression, then then "Zvalue expression" doesn't sound like "mammal animal" and makes sense: it is expression with property "Zvalue". It analogous to something like "tennis ball". You can't drop "ball" and just write "tennis". |
@zygoloid, I believe my changes make sense; we talk about "prvalue" (without mentioning "expression") quite a lot. |
when calling out a value category.
Rebased. |
@jensmaurer sorry, my bad, I was not clear. I'm not saying the changes are wrong. I'm just saying that Zvalue defined both as "is expression (with some particular properties)" almost everywhere and at least in one place it is defined as a property of an expression. BOTH "prvalue" and "prvalue expression" are correct, the later form does not necessarily sound like "mammal animal", "prvalue" there acts as an adjective. My point is: if the usage of "Zvalue" as an adjective is completely eliminated, I think it makes sense to rewrite this wording where "Zvalue" defined as a property of an expression and leave only as a subclass of expression. |
@languagelawyer, agreed, but there are a few situations where we should probably keep "Xvalue expression". So we can't go all the way where you want to be. |
@languagelawyer To continue our tortured mammal/animal analogy, the analogue to [basic.lval]p2 would be:
I think it's reasonable to say that the value category is a property of an expression, despite also saying that each value category is a specific kind of expression. "xvalue" is not a property of an expression, but "value category" is -- we can't say "this expression is xvalue", but we can say "the value category of this expression is xvalue" (but there are better ways to say that), or "if these two expressions have the same value category, then [...]". Keeping around a few utterances of "xvalue expression" doesn't seem terrible, especially if they aid comprehensibility, but it should be understood that that is parsed like "doctor horse" (that is, a doctor who is also a horse), not like "horse doctor" (with "horse" modifying "doctor"). |
Your analogue is not bijective: you've used the same word "class" for both "fundamental classification" and "value category". |
when calling out a value category.
Fixes #2069.