[fpc-devel] Templates / Generics
Florian Klaempfl
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
>>>you agree?
>>>
>>>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
See above.
> - <> makes pascal more ambigious
See above.
> - alternatives: modifiers or not yet used brackets like (! !) or (# #)
Ugly :)
>
> 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?
>
>
> Mattias
>
> _______________________________________________
> fpc-devel maillist - fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-devel
>
More information about the fpc-devel
mailing list