[fpc-pascal] Weird string behavior

Jonas Maebe jonas.maebe at elis.ugent.be
Fri Jul 22 22:42:21 CEST 2016

On 22/07/16 21:49, Santiago A. wrote:
> El 22/07/2016 a las 17:56, Jonas Maebe escribió:
>> There is no hidden secret knowledge. Everything is documented and the
>> information is linked from the release notes. The "principle of least
>> surprise" has been applied in the sense that we didn't invent our own
>> system that introduces small or large differences compared to how
>> Delphi behaves in the same situation (and if there are differences,
>> then those are bugs in our implementation).
> With hidden knowledge I don't mean it's not documented, I mean that's
> like small print in contracts.

How much more prominent can it be when it's in the release notes?

> Only those who know there is trick with adding are going to check
> manual. Complex things and pushing the language to its limits could
> require reading manual, adding two strings shouldn't.

You don't have to read the manual. You have to read the release notes.

> MyString := expression
> I really shouldn't need to know if right expression uses '+',  or the
> result of a function, or '*', to guess what  MyString type is.

And maybe you shouldn't, because maybe there is a bug in FPC. But I 
don't have Delphi 2009 and hence I cannot test.

> In addition, changing the codepage on the fly if a bad idea.
> If I cant change the codepage dynamically (I don't like it, but let's
> live with it), let me assign it explicitly, don't change it on the fly.

You can do that if you only use RawByteString. I doubt you'll find it 
very convenient.

> I don't like automatic conversion, but let's live with it. But I think
> that automatic change of var type is really wrong.

I don't understand what you mean with this.


More information about the fpc-pascal mailing list