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
Section "10.3.2.7 Ranges" permits ranges to be represented syntactically :
as a comparison operator and a single endpoint (grammar rule 7.a.)
Grammar rule 7.a now includes the = and != operators. Meaning that =10 is (according to the spec) actually a range. Same for !=10.
Single endpoint ranges for stuff like (say) <=10 make sense as the start endpoint is unbounded and now 'undefined' (refer also questions in #663. But, an equality or inequality comparison represented as a range would need to be something like [10..10] and (10..10) respectively. The endpoint is not undefined and thus =10.start would have to be 10 .. which is not what the spec says.
So ... hope that makes sense.
Kind of a bit confusing all around.
The text was updated successfully, but these errors were encountered:
According to the spec both equality and inequality are comparison operators (see page 124 and the grammar) hence it makes sense to support them in the simple positive unary tests. After all, they are allowed in the comparison expressions.
I think that from the semantic point of view (basic maths) =10 is equivalent to >=10 and <=10 hence it is equivalent to the notation [10..10].
!= 10 is equivalent to <10 or >10 hence cannot be mapped to (10..10) which is equivalent to >10 and <10. I think that in this case the range properties (start, end & flags) cannot be defined.
Thanks @opatrascoiu - got to admit, I'm still not sure how to cover this. Or even if it is possible. The range thing is just ... well .. odd. I guess it folds in this issue also: #663. Kind of the same, so, I'll leave this ticket open for reference purposes just now, but continue on in that other issue.
Section "10.3.2.7 Ranges" permits ranges to be represented syntactically :
Grammar rule 7.a now includes the
=
and!=
operators. Meaning that=10
is (according to the spec) actually a range. Same for!=10
.Single endpoint ranges for stuff like (say)
<=10
make sense as the start endpoint is unbounded and now 'undefined' (refer also questions in #663. But, an equality or inequality comparison represented as a range would need to be something like[10..10]
and(10..10)
respectively. The endpoint is not undefined and thus=10.start
would have to be10
.. which is not what the spec says.So ... hope that makes sense.
Kind of a bit confusing all around.
The text was updated successfully, but these errors were encountered: