On Fri, 04 Nov 2005 10:47:42 +0100 Marc Weustink <[EMAIL PROTECTED]> wrote:
> 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); What about proc generics: GenericProc(TObject) This can be ambigious. > var > MSC: TMySpecificClass; > > begin > MSC := TMySpecificClass.Create Mattias _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel