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

Reply via email to