What you are saying is probably right (and I believed the same thing too). However, I am trying to iron out the missing area in the documentation. Where does the documentation say "$ requires a character vector as its right ooerand to cast into a symbol with ` as its left operand"
One more question. Not really related to the current topic. Since you wrote a book and are pretty much q god level individual, is some (most) part of kdb just trying to infer behavior because doc is missing.
I am just trying to contrast it with lets say a C question where there a standard (although a standard can show behavior as undefined as well).
you are correct, there is no standard. though the wiki is slowly emerging as the definitive source for the language's behavior.
operators are overloaded based on the type of their operands. the behavior can also change based on the value of the operand: positive, negative and null. that leaves a lot of flexibility for the language.
if calling an operator with a specific type currently throws a `type error and a logical alternative is found, the language is enhanced in subsequent releases. updating the wiki sometimes trails.
this can be both frustrating and also the beginning of an 'unexpected journey'.
the wiki benefits from people like you that point out its deficiencies. thank you.