[fpc-devel] Packages, Generics
florian at freepascal.org
Mon Sep 13 13:22:07 CEST 2010
Am 13.09.2010 12:31, schrieb Willibald Krenn:
>>> OTOH 'specialize' is an additional (unfamiliar) keyword and has
>>> semantics totally unknown to the world. So why not take what's
>>> already in the language?
>> As I said, to emphasis that a new type is created, generic
>> specialization is something really new to the language. The meaning
>> of type ... = type ...; is imo very unclear.
> Well, it's the Delphi way of creating a new type rather than an
Since they are still assignment compatible, I don't consider it as a
really new type.
>>> FPC's generics are, however, very different to all other
>>> implementations of generics that I know of. And I really(!)
>>> hope, that FPC does not do the C++ like duck-typing, which could
>> FPC works in this regard as C++ which is not nice but much more
>> flexible being not only some type cast wrapper generator as in C#
> Well, you know my opinion. This is type-unsafe,
It is perfectly type safe.
> C-style, poor-man's
I consider C# style generics as poor man's generics :)
Well, I consider them more powerful than others because the C#
programming style (having only one core implementation) can be done also
with C++ style templates, see e.g. the fgl unit of fpc.
> You are asking for trouble by following that route.
Nothing is trouble free ;)
> And one last time - C#/.NET generics are not only some 'type cast
> wrapper': think about working static fields, co-/contravariance ... .
Yes. But the principle remains the same.
> Java generics, however, could be described as type cast wrapper
> generators. And everybody on earth knows that Java generics are
>> Let us know if you've something working and regarding the branch:
>> just tell me if you need one.
> Ok, thanks!
More information about the fpc-devel