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

listmember listmember at letterboxes.org
Thu Jun 2 08:21:44 CEST 2005

Marco van de Voort wrote:
> 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

Yes, these would be great, IMHO.

> 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)

Maybe a few things should be borrowed from RemObjects Chrome, such as

-- Class Contracts

I like the 'require/ensure' aproach.

It makes the code more robust and more debuggable, IMHO

-- Generics

I am not sure if Generics could be done in FPC.

-- Virtual Properties and Events

-- Enhanced Multicast Events

Inline variable initializers, such as:

   TSomethingElse = class(TSomething)
     FInteger: Integer = 15;
     FBoolean: Boolean = False;
     FString: String = 'SOME TEXT';

Similarly, for

function Something(...): Boolean = False;
   Integer1: Integer = 15;
   Boolean1: Boolean = False;
   String1: String = 'SOME TEXT';

Procedure Something(Out AInteger: Integer = 12; ....);
   Integer1: Integer = 15;
   Boolean1: Boolean = False;
   String1: String = 'SOME TEXT';

>>Useful extensions I would see:
>>bigger sets: set of -100000..100000 (e.g.)
> I'd like that too. 

Me 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.

If someone contributes the code, why not. It does not hurt, IMHO.

>>writing of enums to text file;
> This should be supported, however needs some tricks. (RTTI is available for enums!)

Yes. Ditto.

>>more operators which can be overloaded (should follow the ALGOL68 rules)
> IMHO this is asking for a mess, and the use is limited.

Again, agreed.

>> multiple assignments:
>>     a := b := c := d := 0 ;
> Same point. Totally useless.

Not really useful. More like confusing, to me, that is.

More information about the fpc-devel mailing list