[fpc-devel] Re: [fpc-l] type discussion
Marco van de Voort
marcov at stack.nl
Wed Jun 1 13:50:46 CEST 2005
> I've read somewhere that Delphi 7 compatibility is planned (since I do not
> have it I do not know what that means in detail).
Main plans short term to my knowledge are:
* create/improve the COM/OLE support. This has multiple facets:
o COM compat interfaces/vmt
o Variants (needed for OLE)
o implements style delegation
* linking/debug/fileformats related
* improve smartlinking (get rid of .a files, less mem use)
* improved "packages" and dynamic libraries (PIC!) support in general.
* crosslinking (2.0 is actually quite crosslink capable already)
* stabs->dwarf crossover.
* Some form of Kylix compat resources.(still under discussion)
* Support for 64-bit (sized) native filetypes.
Some of these target functionality (specially in the linking section) might require restructures
related to
* introduction of an internal linker for some core platforms (no more LD)
* Rewrite of module (unit) handling
For the rest, improve RTL/FCL compability and extend them in general, and of course fixbugs.
> Beside of compatibility towards Delphi or MacPascal or others FPC should be
> open to other modifications/extensions (maybe Delphi one day copies FC a bt
> :-), and not always the other way round)
>
> Useful extensions I would see:
>
> bigger sets: set of -100000..100000 (e.g.)
I'd like that too.
> a way to write integer constants in any base, not only
> binary/octal/hexadecimal (not so important, but easy to implement)
Rarely used. Specially since more than base 36 becomes a notational problem.
However it has been brought up before.
> writing of enums to text file;
This should be supported, however needs some tricks. (RTTI is available for enums!)
> more operators which can be overloaded (should follow the ALGOL68 rules)
IMHO this is asking for a mess, and the use is limited.
> should automatically permit constructions like:
>
> var
> x : type1, y : type2 ;
>
> x *:= y ;
Why to save two characters? The C operators were afaik mostly added to ease
porting critical C code. However IMHO one shouldn't use them in new code,
and there is no need to start adding variations on the C syntax.
> multiple assignments:
>
> a := b := c := d := 0 ;
>
> etc.
Same point. Totally useless.
> That are just some ideas. Maybe there are more?
To judge extensions, it might be smart to check this faq item:
http://www.freepascal.org/faq.html#extensionselecthttp://www.freepascal.org/faq.html#extensionselect
which is more or less a rough view on how we (or actually more I, since I
wrote it) see extensions to the language.
Except larger sets and more control about set packing is the only really
interesting thing IMHO generics/templates, since it really makes heaps of
new behaviour possible, and is not purely syntax that saves typing.
The wiki also contains some roadmap info:
http://www.freepascal.org/wiki/index.php/Detailed_2.1.0_branch_todo
More information about the fpc-devel
mailing list