[fpc-devel] Could FPC add the PLM "based" construct?
Giuliano Colla
giuliano.colla at fastwebnet.it
Tue Nov 17 14:01:59 CET 2009
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)
More information about the fpc-devel
mailing list