Hi,
To me, the point is that Len, Chr, Asc etc *should* be normal functions, and the compiler should inline them so that they are as fast as anything builtin.
The fact the compiler can't/doesn't inline them is a crap excuse to make the language more complex and messier - but that's what I decided to do at the time. It was a mistake.
I don't really want to change this back to the 'better but still crappy' 1.18 precedence because changes to the predence of things has been proven to have nasty side effects. And 99.99% of users have been quite happy with things since 1.22 so...
As for why I changed precedence in 1.20 at all, that too was a huge mistake! That was done to 'fix' the precdence of Chr, but I really just should have said 'that's the way it is - live with it'. Frankly, I don't want to repeat the exercise.
My advice would be to use '.length' instead of Len, and treat Asc, Chr etc as if they were functions - ie: always use brackets. Any potential Max2 would certainly implement these as functions anyway, so think of it as future proofing.
You are of course free to disagree with any of this, but please don't post this as a bug report again. The manual, on the other hand, does indeed need fixing...
To me, the point is that Len, Chr, Asc etc *should* be normal functions, and the compiler should inline them so that they are as fast as anything builtin.
The fact the compiler can't/doesn't inline them is a crap excuse to make the language more complex and messier - but that's what I decided to do at the time. It was a mistake.
I don't really want to change this back to the 'better but still crappy' 1.18 precedence because changes to the predence of things has been proven to have nasty side effects. And 99.99% of users have been quite happy with things since 1.22 so...
As for why I changed precedence in 1.20 at all, that too was a huge mistake! That was done to 'fix' the precdence of Chr, but I really just should have said 'that's the way it is - live with it'. Frankly, I don't want to repeat the exercise.
My advice would be to use '.length' instead of Len, and treat Asc, Chr etc as if they were functions - ie: always use brackets. Any potential Max2 would certainly implement these as functions anyway, so think of it as future proofing.
You are of course free to disagree with any of this, but please don't post this as a bug report again. The manual, on the other hand, does indeed need fixing...