[fpc-devel] Re: [fpc-l] type discussion

Michael Van Canneyt michael at freepascal.org
Sun Jun 5 15:56:40 CEST 2005



On Sun, 5 Jun 2005, Jamie McCracken wrote:

> Michael Van Canneyt wrote:
> 
> > I suggest you create an external preprocessor, and limit yourself to
> > that.
> > 
> > I don't consider your construct to be Pascal, so I will fight inclusion
> > of it in the compiler, not even under some {$Mode} construct. 
> 
> Well all I ask is you wait til I have written it then give it a chance. If you
> still feel bad about it then we can discuss what to do then. If it turns out
> that you all insist on begin..end being mandatory then i will respect your
> wishes and no feelings will be hurt. 

Look, it's a matter of principle. I consider ANY language which uses the amount 
of whitespace in it's grammar to be inherently badly designed.

> I believe it will help Pascal and breathe
> new life into it especially as its a dying language.

It has lived longer than most languages, so I don't think this is so.

> I also note there is no
> such thing as "Pascal" as such even Delphi has significant syntax differences
> with earlier pascal variants so I hope that's taken into account.

No it is not. The change you suggest is fundamentally different from the dialects
we have till now; you are changing one of the fundamental principles, namely
whitespace is irrelevant, just as casing is. This is, in my eyes, a different 
language - anything BUT pascal. 

> 
> > 
> > The compiler is GPL, so you are free to change it, but that doesn't
> > necessarily mean your changes will make it back in the compiler main
> > sources.
> 
> If not I can always maintain a branch that does. (though I would prefer it if
> it is included of course)

Not if I can help it.

I realize this may come over quite hard, but I prefer you would do something USEFUL
which actually contributes to Free Pascal. Creating yet another obscure dialect is not 
helpful. We are having enough problems getting in Delphi compatibility stuff. It would 
be MUCH more appreciated if you would help with that.

It's a simple fact:
90% if not more of all pascal code out there is Delphi code. Being able to compile and 
re-use that is FAR more important than changing the fact that begin/end is required in 
pascal.

You want to be useful ? Do one of the following:
- Complete Variant support.
- Implement Packages support.
- Overloading for property indexes.
- DISPINTERFACE support, plus OLE automation calls.
- Extend the Optimizer.

You want to make some 'Auto-Maintained' variable support, of the kind:
Autovar
  S  : TStrings;

begin
  S:=TStringList.Create;
end; // compiler disposes of S.

Please, go ahead. Anything that is useful. But not creating another dialect.

I've been on the compiler team for almost 10 years, and we've heard lots of crazy
offers in that time. We've ignored most of them, and good too, or else we wouldn't 
be where we are today. Yours just happens to be one of them. Sorry.

I prefer to let you know in advance instead of letting you work hard and then shoot 
off your efforts.

Michael.




More information about the fpc-devel mailing list