Micha Nelissen ha scritto:
Giuliano Colla wrote:
Micha Nelissen ha scritto:
Giuliano Colla wrote:
With "absolute" you need a) to declare an extra type (PByte, or

"Declaring an extra type" is one of those things that make Pascal what it is; declaring before use.

You mean that declaring "twice" is smarter than declaring just once?

You're actively trying to deceive me here? Nothing is declared "twice" as in "two times", but the declaration is split in two pieces. Btw, 9 times out of 10 the type declaration is reused multiple times so in the end it saves typing.


I try to make myself more clear. Of course the "based" construct comes useful when you're dealing with structured data such as records. And of course you need a type declaration for your record. But currently you need a second type declaration for a pointer to that record. This is not a split declaration, but an extra declaration.

one for the typed pointer itself. The Pascal type is visible in the pointer type declaration, and not in the pointer declaration (which is in a different section, var vs. type, which in a large program can be

That's why names were invented in programming languages. Names can add meaning to types. It can make the reader see structure instead of chaos.


The record type name is meaningful, the pointer type name is not. The usual way is to use the same name of the record, prepended by a P. If it can be inferred from the structure name, it's pleonastic. If it can't it's obfuscating. The "based" construct makes it implicit.

It would be more consistent with the rest of the language, but what I suggest is to push consistency on the opposite direction.

The opposite direction is the wrong direction.


I've never found the C++ way (Button->Click) more telling than FPC way (Button.Click), on the contrary I find it cumbersome, but of course you're free to think otherwise.

--
Giuliano Colla

Whenever people agree with me, I always feel I must be wrong (O. Wilde)
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to