[fpc-devel] Templates / Generics
florian at freepascal.org
Mon Nov 7 22:41:06 CET 2005
Mattias Gaertner wrote:
> On Mon, 07 Nov 2005 19:29:51 +0100
> Bram Kuijvenhoven <kuifwaremailinglists at xs4all.nl> wrote:
>>Micha Nelissen wrote:
>>>On Mon, 07 Nov 2005 14:45:19 +0100
>>>Bram Kuijvenhoven <kuifwaremailinglists at xs4all.nl> wrote:
>>>>Does <> for generics fit into Pascal? Well, we use  for array
>>>indexing, and () for parameter passing to procedures/functions/methods.
>>>So why not use <> for passing parameters to generic types? And, similar
>>>to the case of function calls and array indexing, these <> could follow
>>>the type identifier directly.
>>>You got a point here, but the "where T is Foo" stuff is crap then, don't
>>>TGType<T: TBaseType> = class(...) ... end;
>>>is better then, when compared to your parameter example.
>>I indeed don't like the "where T is foo" of Chrome :) So you are totally
>>right, TGType<T : TBaseType> is a lot better and a lot more consistent
>>(with e.g. function parameter syntaxis).
> Let's sum up the different points for the syntax so far:
> - <> will probably be used by Delphi
> - <> bites the < operator
No, as I said, we should allow template instantiation only in type blocks.
> - <> makes the parser more difficult and slow
> - <> makes pascal more ambigious
> - alternatives: modifiers or not yet used brackets like (! !) or (# #)
> It seems to me, it's a question of: Follow Delphi generics or not.
> And we don't know, where Delphi will go. They will not have generics in the
> next one and a half year and as always: They will do a few things completely
> different than expected.
> If we follow, then we will do, as Florian et al said.
> If not, then the <> is not the best solution.
> Is this correct so far?
> fpc-devel maillist - fpc-devel at lists.freepascal.org
More information about the fpc-devel