[fpc-pascal] Re: TLinkedList
Sven Barth
pascaldragon at googlemail.com
Wed Feb 15 13:58:27 CET 2012
Am 14.02.2012 22:28, schrieb Marco van de Voort:
> In our previous episode, Sven Barth said:
>>> Afaik it was the main reason to implement generic constraints in Delphi (like
>>> .NET)?
>>
>> Constraints allow the compiler to infer further information on the given
>> types to improve e.g. type checking when parsing the generic,
>
> Exactly. You e.g. know that the unspecialized generic is already meant for
> reference types, from line one.
>
>> but they won't magically allow the compiler to not duplicate code (in
>> theory it would be possible to do something like Java's generics for cases
>> where the constraints are for descendants of TObject or IInterface, but in
>> my opinion the tradeoffs (increased compiler complexity) are not worth
>> it).
>
> Yeah, that is typical. If it is not used inside the compiler it is
> unoptimized :-)
>
> Maybe redo cclasses with generics?
That wouldn't change that much... the performance of specialized
generics isn't that different from "normal" code. Also I've not yet seen
anyone complain about the size of the compiler executable, only it's
speed...
Let's first implement everything that we need to have full Delphi
compatibilty (generic methods, constraints, inline specializations in
more complicated expressions) and then we can think of optimizing the
generic implementation for cases like class or interface based
specializations...
Regards,
Sven
More information about the fpc-pascal
mailing list