[fpc-devel] Unicode and UTF8String

Martin Friebe fpc at mfriebe.de
Mon Dec 1 23:30:15 CET 2008


Point taken.

And point also taken that it's not a solution to to a "half job", 
meaning overload only methods based on parameters, but not results. This 
would be a false pretence, ending people n a believe they do the right 
thing where they do not.

Another idea:
The programmer should be able to set himself what RTLString means, (with 
the default being the OS depended). It isn't really a nice solution 
though. But I throw it into the discussion anyway.

Otherwise I''ll have to see, If I can come up with something else.

Jonas Maebe wrote:
>
> On 01 Dec 2008, at 22:33, Martin Friebe wrote:
>> I suggested to have a rtl, that has overloaded functions for each 
>> string type.
>> of course that sounds easier than in fact it will be.
>>
>> Florian pointed out a few issues, like overloading by result is not 
>> possible (yet?).
> No, it is fundamentally impossible. First of all, because a Pascal 
> compiler does not look at how the result of an expression is used 
> while parsing the expression (so while evaluating a function call, the 
> compiler has no idea what the "expected" result type is). That's 
> simply how Pascal works.
>
> And how could the compiler decide what to call here:
>
> function f: longint;
> begin
>   result:=1;
> end;
>
> function f: string;
> begin
>   result:='s';
> end;
>
> begin
>   writeln(f);
> end.
>
> There are an immense amount of similar examples possible (and if you 
> add operator overloading in the mix, it increases exponentially), and 
> you'd get a huge amount of "can't decide which overloaded function to 
> call" errors even if the compiler were hacked to take the use of the 
> function results into account.
>
>
> Jonas
> _______________________________________________
> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-devel



More information about the fpc-devel mailing list