Daniƫl Mantione wrote:
Op Thu, 3 Nov 2005, schreef Mattias Gaertner:
Here is a proposal of the syntax:
type
TGenericClass<T,F> = class
public
procedure Add(Item: T; Flag: F);
end;
This syntax is almost impossible to implement since in one of your other
mails the symbols to mark the parameters appear in regular source code:
begin
generictypeA<integer>.create
end.
It will be very hard for the parser to see the difference in advance
between:
variable<integer(another_var)
generic_type<integer
Only when the > symbol is parsed the result is known.
Maybe the parser may be able lookup the type first and make a decision
based on that, but it would be in the middle of a recursive expression
parse designed for infix operators.
Also in C++ this sometimes causes trouble where you need to change your
code notation so the compiler eats it. I don't know if this proposal
suffers from this mess, but we should avoid at all cost to import it into
Pascal.
On the wiki pages some of my remarks got lost (or I didn't write them
down) but when I first looked at the <> notation style it looks very
unpascalish for me. I like more to add a new keyword for it, like the
samples wiht generic or template)
BTW,
what woud be the problem with
type
TMySpecificClass = TGenericClass(TObject, Integer);
var
MSC: TMySpecificClass;
begin
MSC := TMySpecificClass.Create
Marc
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel