Now, it is easy for the compiler to guess such cases.
I don't want the compiler to "guess" at all.
Some languages perform automagic deferencing of pointers to structured types (record/object, array), meaning eg p.x is interpreted as p^.x and p[i] is interpreted as p^[i]
Yes, it has even become part of Free Pascal (AnsiStrings, Open Arrays). Still I don't like it. And it was only an example for the benefit of type checking when using pointers heavily. And wasn't there also the possiblity of pointer arithmetic...?
There is no ambiguity since the pointer nature of p is known by the compiler before such lookups can be parsed.
It's not only a question of ambiguity. I may not have fully understood you question but how would you *avoid* type checking? If you assign an integer to a set variable the compiler should complain, shouldn't it? If no type checking is done then simply only bytes are moved? That's assembler...
Nice use of the compiler ;-) But only needed since implicite dereferencing is not a feature of the language.
No. If you need access to the pointers themselves you cannot have implicit derefferencing. That's the general problem with AnsiStrings and Open Arrays already. It becomes a real problem when you create your own data types which make use of pointers heavily. Then you *need* access to the pointers themself *and* to the data they point to. This would be impossible with automatic derefferencing. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal