As far as voting goes, personally, I prefer something like this: GList =
generic class(T)
And, are we going to have non-class rotines, such as event declarations; i.e.
TGenericCallback = generic function(AValue1: TGenericValue; AValue2:
TGenericValue): Integer;
TSomeGenericEvent =
On Tue, 8 Nov 2005 [EMAIL PROTECTED] wrote:
Michael Van Canneyt wrote:
Then they have to publish their specs real soon now. And I mean
not
something in a blog, but more something like documentation. We
can't wait
another 5 years, until they finally make up their mind.
Generics are
[EMAIL PROTECTED] wrote:
Delphi.Net2.0 is using
Chrome is using
C# is using
C/C++ is using
Why should FPC use generics ???
Because it is more readable. is an operator and therefore should not
be used as bracket in generic definition.
That b.s. will break the Delphi code base!
[EMAIL PROTECTED] wrote:
Delphi.Net2.0 is using
Chrome is using
C# is using
C/C++ is using
Why should FPC use generics ???
Why should FPC be Pascal-ish? Is that your question? :-)
mm
___
fpc-devel maillist - fpc-devel@lists.freepascal.org
On Wed, 09 Nov 2005 19:16:46 +0100
[EMAIL PROTECTED] wrote:
Delphi.Net2.0 is using
Uncertain.
Chrome is using
Not inventive enough to come up with something of their own and simply
following .NET C# syntax.
C# is using
Duh. It's a C derivative.
C/C++ is using
Duh, they like short
Micha Nelissen wrote:
Come on, we're just discussing pros
and cons, who knows what the final syntax will be?
Ok, to prove this, I've added some ugly examples posted on IRC in the
wiki. Look at the bottom of generic keyword syntax examples.
Anyone an idea ? :-)
Micha
Pro reason will probably be: compatibility.
Pro generic will probably be: more Pascal-alike/readability.
Delphi.Net2.0 is using
Chrome is using
C# is using
C/C++ is using
Why should FPC use generics ???
Why not if it is better readable and in the parser? None of the template
Micha Nelissen wrote:
Ok, to prove this, I've added some ugly examples posted on IRC in the
wiki. Look at the bottom of generic keyword syntax examples.
Anyone an idea ? :-)
Ok I've posted under Suggestion 2 a slightly modified syntax. Let me
know what you think.
Micha
Marco van de Voort wrote:
Florian Klaempfl [EMAIL PROTECTED] wrote:
Is this correct so far?
Ok. So, FPC will follow chrome/Delphi?
Afaik there is no need to. Chrome is as relevant as C++, since it is a
different language, and Delphi implements .NET stuff, and maybe
On Tue, 8 Nov 2005 [EMAIL PROTECTED] wrote:
Vincent Snijders wrote:
LOL.
Then they have to publish their specs real soon now. And I mean not
something in a blog, but more something like documentation. We can't wait
another 5 years, until they finally make up their mind.
Michael Van Canneyt wrote:
On Tue, 8 Nov 2005 [EMAIL PROTECTED] wrote:
Vincent Snijders wrote:
LOL.
Then they have to publish their specs real soon now. And I mean not
something in a blog, but more something like documentation. We can't wait
another 5 years, until they finally make
On Tue, 8 Nov 2005 [EMAIL PROTECTED] wrote:
Michael Van Canneyt wrote:
On Tue, 8 Nov 2005 [EMAIL PROTECTED] wrote:
Vincent Snijders wrote:
LOL.
Then they have to publish their specs real soon now. And I mean
not
something in a blog, but more
On Tue, 08 Nov 2005 21:06:10 +0100
[EMAIL PROTECTED] wrote:
[...]
ECMA Standard 334
But this is a standard for C#, so totally useless for Pascal syntax-wise.
Why useless? You can do exactly the same in a Pascal-styled way.
We need just a minor part from the standard for the FPC compiler.
Mattias Gaertner wrote:
Why do you think, that Borland will use ECMA Standard 334 for C# for the
Delphi generics?
Is there any official page, document, statement?
Why should Borland reinvent the wheel?
http://bdn.borland.com/article/0,1410,33383,00.html
On Tue, 8 Nov 2005 [EMAIL PROTECTED] wrote:
Mattias Gaertner wrote:
Why do you think, that Borland will use ECMA Standard 334 for C# for the
Delphi generics?
Is there any official page, document, statement?
Why should Borland reinvent the wheel?
[EMAIL PROTECTED] wrote:
You stated that we could know already what the delphi-syntax will be,
if they add generics over two years.
But we can't, since we don't know what 'pascal-styled' way they will
choose.
I would say that a pascal-way is adding the 'interface' keyword. Like in
array's
On Tue, 8 Nov 2005 [EMAIL PROTECTED] wrote:
Why should Borland reinvent the wheel?
http://bdn.borland.com/article/0,1410,33383,00.html
That they will not invent new functionality is clear.
But absolutely nothing is said about pascal _syntax_ for generics.
How this is translated to
Hi! I've been following the generic discussion with great interest. Here are
some of my thoughts.
Florian Klaempfl wrote:
- we'll use a syntax as close as possible to Chrome, e.g.
type
TListT = class
...
end;
I greatly favor this syntaxis above the generic-modifier. It will look at a
- instantiation will be only possible in declaration blocks, not in code
blocks:
possible:
var
mylist : TListinteger;
const
mylist : TListinteger = nil;
type
mylist = TListinteger;
forbidden:
procedure p(mylist : TListinteger);
begin
...
mylist:=TListinteger.create;
...
Peter Vreman wrote:
The token-lookahead is a hack and will create more problems and
performance loss in a critical part of the compiler.
The restriction of type blocks only is not strange at all, Delphi allows
'class of' is also only in type blocks
Ok, I didn't know it would be a real ugly
Micha Nelissen wrote:
Bram Kuijvenhoven wrote:
Florian Klaempfl wrote:
- we'll use a syntax as close as possible to Chrome, e.g.
type
TListT = class
...
end;
I greatly favor this syntaxis above the generic-modifier. It will look
at a lot more familiar to most programmers (due to
On Mon, 07 Nov 2005 14:45:19 +0100
Bram Kuijvenhoven [EMAIL PROTECTED] 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
Micha Nelissen wrote:
On Mon, 07 Nov 2005 14:45:19 +0100
Bram Kuijvenhoven [EMAIL PROTECTED] 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?
On Mon, 07 Nov 2005 19:29:51 +0100
Bram Kuijvenhoven [EMAIL PROTECTED] wrote:
Micha Nelissen wrote:
On Mon, 07 Nov 2005 14:45:19 +0100
Bram Kuijvenhoven [EMAIL PROTECTED] wrote:
Does for generics fit into Pascal? Well, we use [] for array
indexing, and () for parameter passing to
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
TListT = class
...
end;
I greatly favor this syntaxis above the generic-modifier. It will
look
On Mon, 07 Nov 2005 22:41:06 +0100
Florian Klaempfl [EMAIL PROTECTED] wrote:
Mattias Gaertner wrote:
On Mon, 07 Nov 2005 19:29:51 +0100
Bram Kuijvenhoven [EMAIL PROTECTED] wrote:
Micha Nelissen wrote:
On Mon, 07 Nov 2005 14:45:19 +0100
Bram Kuijvenhoven [EMAIL PROTECTED] wrote:
Mattias Gaertner wrote:
On Mon, 07 Nov 2005 23:06:37 +0100
Florian Klaempfl [EMAIL PROTECTED] wrote:
Ok. So, FPC will follow chrome/Delphi?
I would do so, see my mail from the weekend :)
I see, but also I see all the other posts still discussing the syntax. I
wondered, if it was definitive.
Peter Vreman wrote:
The token-lookahead is a hack and will create more problems and
performance loss in a critical part of the compiler.
The restriction of type blocks only is not strange at all, Delphi allows
'class of' is also only in type blocks
Ok, I didn't know it would be a real ugly
Florian Klaempfl [EMAIL PROTECTED] wrote:
Is this correct so far?
Ok. So, FPC will follow chrome/Delphi?
Afaik there is no need to. Chrome is as relevant as C++, since it is a
different language, and Delphi implements .NET stuff, and maybe provides a
backwards compat kludge for win32
Mattias Gaertner wrote:
This page looks only like the start of a proposal. Neither complete nor
official.
Why do you think, that D2006 will have generics?
D2006 D11=D2007
How will Delphi handle the following case with overloads and different types:
unit test;
interface
type
ListT =
Peter Vreman wrote:
Mattias Gaertner wrote:
This page looks only like the start of a proposal. Neither complete nor
official.
Why do you think, that D2006 will have generics?
D2006 D11=D2007
How will Delphi handle the following case with overloads and different types:
If it is
Marc Weustink wrote:
Peter Vreman wrote:
How will Delphi handle the following case with overloads and different
types:
If the generic is precompiled (which is maybe necesary if you need
access to privates) then I fear some runtime logic has to be added to
call the correct procedure. IE.
Peter Vreman wrote:
How will Delphi handle the following case with overloads and different types:
The restriction to use generic types only in (assignment to)/(passing to
procedure) of the same generic type is too big a restriction ?
If you want to do this, one should instantiate it first
Micha Nelissen wrote:
Marc Weustink wrote:
Peter Vreman wrote:
How will Delphi handle the following case with overloads and
different types:
If the generic is precompiled (which is maybe necesary if you need
access to privates) then I fear some runtime logic has to be added to
call the
On Friday 04 November 2005 09:25, Micha Nelissen wrote:
Marc Weustink wrote:
If the generic is precompiled (which is maybe necesary if you
need access to privates) then I fear some runtime logic has to be
added to call the correct procedure. IE. something like
case TypeInfo(Data) of
Peter Vreman wrote:
Mattias Gaertner wrote:
This page looks only like the start of a proposal. Neither complete nor
official.
Why do you think, that D2006 will have generics?
D2006 D11=D2007
How will Delphi handle the following case with overloads and different types:
unit
Daniël Mantione wrote:
Op Thu, 3 Nov 2005, schreef Mattias Gaertner:
Here is a proposal of the syntax:
type
TGenericClassT,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
Daniël Mantione wrote:
Op Thu, 3 Nov 2005, schreef Mattias Gaertner:
Here is a proposal of the syntax:
type
TGenericClassT,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
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
TGenericClassT,F = class
public
procedure Add(Item: T; Flag: F);
end;
This
On Fri, 04 Nov 2005 08:38:03 +0100
[EMAIL PROTECTED] wrote:
Alexey Barkovoy wrote:
Delphi 11 .Net 2.0 will support Generics. Maybe Delphi 11 Win32.
This page looks only like the start of a proposal. Neither complete nor
official.
Why do you think, that D2006 will have
Marc Weustink wrote:
BTW,
what woud be the problem with
type
TMySpecificClass = TGenericClass(TObject, Integer);
Or:
code
type
TGenericCollection = generic(T: TCollectionItem) class(TComponent)
...implement TCollection and use T
end;
TCollection = TGenericCollection of
On Fri, 04 Nov 2005 13:44:55 +0100
Marc Weustink [EMAIL PROTECTED] wrote:
Mattias Gaertner wrote:
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:
Micha Nelissen wrote:
Marc Weustink wrote:
BTW,
what woud be the problem with
type
TMySpecificClass = TGenericClass(TObject, Integer);
Or:
code
type
TGenericCollection = generic(T: TCollectionItem) class(TComponent)
...implement TCollection and use T
end;
TCollection =
Example:
procedure MyProc(T); // generic procedure without parameters
ver i: T;
begin
...
end;
procedure MyProc(T: TClass); // non generic procedure
begin
end;
Call
MyProc(TObject);
What will happen?
Mattias
Sky will reign fire:
procedure (var T);
begin
// generic or not??
end;
Ales Katona wrote:
Micha Nelissen wrote:
Marc Weustink wrote:
BTW,
what woud be the problem with
type
TMySpecificClass = TGenericClass(TObject, Integer);
Or:
code
type
TGenericCollection = generic(T: TCollectionItem) class(TComponent)
...implement TCollection and use T
end;
Micha Nelissen wrote:
code
type
TGenericCollection = generic(T: TCollectionItem) class(TComponent)
...implement TCollection and use T
end;
TCollection = TGenericCollection of (TCollectionItem);
TFieldDefs = TGenericCollection of (TFieldDef);
/code
So generic procs could look like:
On Friday 04 November 2005 13:00, Micha Nelissen wrote:
Combining some of the wiki ideas, and has no evil characters
:-).
I don't understand the fuzz about using . It's not even close to
being C(++)-ish, because it was used for describing discrete range
types _at least_ in Ada's generics
Mattias Gaertner wrote:
On Fri, 04 Nov 2005 13:44:55 +0100
Marc Weustink [EMAIL PROTECTED] wrote:
Mattias Gaertner wrote:
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
types _at least_ in Ada's generics back in 1983[*] already.
Perhaps someone should take a look at those, because these are also
quite different from C++-templates.
Vinzent.
[*] That would be the same year the term C++ just appeared first in
history of programming languages then, and
Micha Nelissen wrote:
code
type
TGenericCollection = generic(T: TCollectionItem) class(TComponent)
...implement TCollection and use T
end;
TCollection = TGenericCollection of (TCollectionItem);
TFieldDefs = TGenericCollection of (TFieldDef);
/code
So generic procs could look
On Friday 04 November 2005 13:27, Marco van de Voort wrote:
[]
The evil is in
- using characters instead of modifiers.
- worse, recycling already used characters.
Alright, I completely understand at least the first part, so perhaps
they should simply not be overused. :-)
Just for the fun
On Friday 04 November 2005 10:33, Vinzent Hoefler wrote:
On Friday 04 November 2005 09:25, Micha Nelissen wrote:
Marc Weustink wrote:
If the generic is precompiled (which is maybe necesary if you
need access to privates) then I fear some runtime logic has to be
added to call the
Peter Vreman wrote:
Expiriment, feed g++ code with errors in the statements. With macro's
those errors won't be show until the macro is used. But with templates
this is diffent:
Smart indeed :)
This is more important than the syntactical sugar. The rules where to
declare generics and
This is evaluated by the pre-compiler run during compile time.
When you use the template with e.g.
var
bl: ListString;
then procedure show(s:string) is taken.
Peter Vreman wrote:
Mattias Gaertner wrote:
This page looks only like the start of a proposal. Neither complete nor
At 18:17 4-11-2005, you wrote:
This is evaluated by the pre-compiler run during compile time.
When you use the template with e.g.
var
bl: ListString;
then procedure show(s:string) is taken.
But what if the bl: ListString is called from an other unit? The
Show(string) is then not visible
On Fri, 04 Nov 2005 20:28:15 +0100
Florian Klaempfl [EMAIL PROTECTED] wrote:
- instantiation steps which require code generation are done after main
program compilation based on information saved in the unit files, this
has some advantages:
If there are errors in some template, won't this
What is Chrome? Some examples of Generics:
http://www.remobjects.com/articles/?id={A1D08EE3-0D9E-4828-AFB3-B2C1E772186E}
___
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel
There are some unsolved problems of generics in free pascal:
1.
See wiki:
http://www.freepascal.org/wiki/index.php/Generics#Notes
The generic should not use private parts of a unit:
interface
generictype declar
implementation
procedure helper;
begin
end
constructor
On Thu, 3 Nov 2005 19:59:40 +0100 (CET)
Daniël Mantione [EMAIL PROTECTED] wrote:
Op Thu, 3 Nov 2005, schreef Mattias Gaertner:
Here is a proposal of the syntax:
type
TGenericClassT,F = class
public
procedure Add(Item: T; Flag: F);
end;
This syntax is almost
On Thu, 3 Nov 2005 20:10:35 +0100
Mattias Gaertner [EMAIL PROTECTED] wrote:
On Thu, 3 Nov 2005 19:59:40 +0100 (CET)
Daniël Mantione [EMAIL PROTECTED] wrote:
Op Thu, 3 Nov 2005, schreef Mattias Gaertner:
Here is a proposal of the syntax:
type
TGenericClassT,F =
Op Thu, 3 Nov 2005, schreef Mattias Gaertner:
Right. I didn't think of that.
What about edged brackets?
type
TGenericClass[T,F] = class
public
procedure Add(Item: T; Flag: F);
end;
At first sight it looks okay. If necessary it is possible to introduce a
two character
On Thu, 3 Nov 2005 20:25:07 +0100 (CET)
Daniël Mantione [EMAIL PROTECTED] wrote:
Op Thu, 3 Nov 2005, schreef Mattias Gaertner:
Right. I didn't think of that.
What about edged brackets?
type
TGenericClass[T,F] = class
public
procedure Add(Item: T; Flag: F);
On Thu, 03 Nov 2005 22:35:34 +0100
Peter Vreman [EMAIL PROTECTED] wrote:
At 20:41 3-11-2005, you wrote:
On Thu, 3 Nov 2005 20:25:07 +0100 (CET)
Daniël Mantione [EMAIL PROTECTED] wrote:
Op Thu, 3 Nov 2005, schreef Mattias Gaertner:
Right. I didn't think of that.
What
Hi *,
Delphi 11 .Net 2.0 will support Generics. Maybe Delphi 11 Win32.
There is already proposal:
http://qc.borland.com/wc/qcmain.aspx?d=11168
The FPC syntax must be at least a subset of the Borland syntax to be
compatible.
Mattias Gaertner wrote:
Hi all,
I want to push generics to
On Fri, 04 Nov 2005 01:06:42 +0100
[EMAIL PROTECTED] wrote:
Hi *,
Delphi 11 .Net 2.0 will support Generics. Maybe Delphi 11 Win32.
There is already proposal:
http://qc.borland.com/wc/qcmain.aspx?d=11168
The FPC syntax must be at least a subset of the Borland syntax to be
Mattias Gaertner wrote:
This page looks only like the start of a proposal. Neither complete nor
official.
Why do you think, that D2006 will have generics?
D2006 D11=D2007
___
fpc-devel maillist - fpc-devel@lists.freepascal.org
Delphi 11 .Net 2.0 will support Generics. Maybe Delphi 11 Win32.
This page looks only like the start of a proposal. Neither complete nor
official.
Why do you think, that D2006 will have generics?
Not Delphi 2006, but Delphi 2007
___
fpc-devel
Alexey Barkovoy wrote:
Delphi 11 .Net 2.0 will support Generics. Maybe Delphi 11 Win32.
This page looks only like the start of a proposal. Neither complete nor
official.
Why do you think, that D2006 will have generics?
Not Delphi 2006, but Delphi 2007
Delphi 11 .Net 2.0 will support Generics. Maybe Delphi 11 Win32.
There is already proposal:
http://qc.borland.com/wc/qcmain.aspx?d=11168
The FPC syntax must be at least a subset of the Borland syntax to be
compatible.
Only if they are usuable for FPC. Delphi.NET has .NET 2.0
69 matches
Mail list logo