Re: [fpc-pascal] Dynamic arrays, yet another pitfall

2014-02-16 Thread Jürgen Hestermann
Am 2014-02-16 17:16, schrieb Michael Van Canneyt: It does exactly that, it says: 1) No COW As said already: SetLength *is* a write! ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc

Re: [fpc-pascal] Dynamic arrays, yet another pitfall

2014-02-16 Thread Michael Van Canneyt
On Sun, 16 Feb 2014, Jürgen Hestermann wrote: Am 2014-02-16 13:47, schrieb Florian Klämpfl: setlength does not behave freaky but its behaviour is well designed. The reason why setlength does a deep copy is simple: multithreading. If setlength had no deep copy semantics, it would need locking

Re: [fpc-pascal] Dynamic arrays, yet another pitfall

2014-02-16 Thread Jürgen Hestermann
Am 2014-02-16 13:47, schrieb Florian Klämpfl: > setlength does not behave freaky but its behaviour is well designed. The > reason why setlength does a deep copy is simple: multithreading. If > setlength had no deep copy semantics, it would need locking of the whole > array data, not only locked ac

[fpc-pascal] Type helpers now require an explicit modeswitch

2014-02-16 Thread Sven Barth
Hello together! A little follow up of the feature announcement: After an internal discussion regarding language clarity last October it was decided that type helpers should not be enabled by default. Thus a new modeswitch "typehelpers" was added in revision 26796 that switches on "type helper

Re: [fpc-pascal] Dynamic arrays, yet another pitfall

2014-02-16 Thread Jürgen Hestermann
Am 2014-02-16 13:20, schrieb Michael Van Canneyt: > Depends on how you define 'write to the array'. > "Writing to the array" = "Changing the value of one of the elements in the array." > In this sense, setlength does not write to the array, which would mean changing the value of > one or more of

Re: [fpc-pascal] Dynamic arrays, yet another pitfall

2014-02-16 Thread Florian Klämpfl
Am 15.02.2014 19:41, schrieb Michael Van Canneyt: > > That setlength behaves rather freakish for dynamic arrays, does not > mean we have copy-on-write. setlength does not behave freaky but its behaviour is well designed. The reason why setlength does a deep copy is simple: multithreading. If setl

Re: [fpc-pascal] Dynamic arrays, yet another pitfall

2014-02-16 Thread Michael Van Canneyt
On Sun, 16 Feb 2014, Jürgen Hestermann wrote: Am 2014-02-15 19:41, schrieb Michael Van Canneyt: That setlength behaves rather freakish for dynamic arrays, does not mean we have copy-on-write. Well, setlength *is* a write. What else is it? Doesn't it write to the array? Depends on how you

Re: [fpc-pascal] Dynamic arrays, yet another pitfall

2014-02-16 Thread Jürgen Hestermann
Am 2014-02-15 19:41, schrieb Michael Van Canneyt: That setlength behaves rather freakish for dynamic arrays, does not mean we have copy-on-write. Well, setlength *is* a write. What else is it? Doesn't it write to the array? ___ fpc-pascal maillist