[fpc-devel] Templates / Generics
Anton Tichawa
anton.tichawa at chello.at
Mon Nov 7 22:30:23 CET 2005
Marc Weustink wrote:
> Bram Kuijvenhoven wrote:
>
>> Micha Nelissen wrote:
>>
>>> Bram Kuijvenhoven wrote:
>>>
>>>> Florian Klaempfl wrote:
>>>>
>>>>> - we'll use a syntax as close as possible to Chrome, e.g.
>>>>> type
>>>>> TList<T> = class
>>>>> ...
>>>>> end;
>>>>
>>>>
>>>>
>>>> I greatly favor this syntaxis above the generic-modifier. It will
>>>> look at a lot more familiar to most programmers (due to e.g. C++
>>>> and Java),
>>>
>>>
>>>
>>> "Must look familiar" programmers should be fired.
>>
>>
>>
>> Of course, the implementation of generics in Pascal should not depend
>> solely on how it is implemented in other languages. I should in the
>> first place fit into Pascal.
>
>
> Since it is already decided that it would be <> I didn't mix into the
> discussion anymore. However, I'll make a comment on this.
>
>> 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.
>
>
> Params are passed to a procedure define like
>
> procedure MyProc(param, param, ..)
>
> Arrays are declared like
>
> A: array[0..9] of ...
>
> And generics.... they are soly defined by the fact that a type has <>
> in it.
>
> That is imo inconsequent.
>
> Marc
>
I aggree. Why not use new keywords 'template', 'generic', like the
current 'array' or record'? That would make the code more readable, and
remove ambiguity problems. It won't cost much, compared to the total
size of a template.
It's also more pascal-like, as opposed to C, where e. g. a pointer is
denoted with '*' and, at the same time, identifies an array etc.
(sorry if this is out of time or had already been discussed - I just
entered this thread here).
Anton
More information about the fpc-devel
mailing list