[fpc-devel] Initialize/Finalize management operators and Default intrinsic

Dimitrios Chr. Ioannidis d.ioannidis at nephelae.eu
Tue Apr 12 16:02:18 CEST 2016


Στις 2016-04-12 16:31, Maciej Izak έγραψε:
> 2016-04-12 14:48 GMT+02:00 Michael Van Canneyt
> <michael at freepascal.org>:
> 
>> I really don't think you should delegate such things to attributes.
>> You make 2 completely unrelated language constructs suddenly
>> related. A bad design decision.
> 
> I think you are wrong. Attributes are not only dedicated to RTTI just
> look at other languages: Delphi, C#, Java. Instead of extending
> language into infinity you can use simple attribute with parameter. I
> don't see any reason why don't use attributes to describe some
> compiler/RTL behavior? Any attribute can be easier placed in many
> language structures without breaking language syntax. That is much
> harder with new keywords.

Just my 2 ...

  AFAIU, attributes in Delphi are ignorable ( ... Attributes do not 
modify the behavior of types or members by themselves. The consumer code 
must specifically query for their existence and take appropriate actions 
when this is required ... ).

  IMO attributes that aren't ignorable aren't really attributes in the 
narrow sense, they're just keywords in disguise.

regards,

-- 
Dimitrios Chr. Ioannidis



More information about the fpc-devel mailing list