[fpc-pascal] Need three things
Daniël Mantione
daniel.mantione at freepascal.org
Sun Aug 12 09:22:20 CEST 2007
Op Sun, 12 Aug 2007, schreef ik:
> > Ok, one more: 4) I miss array slice syntax (str:= s[2..7];) from the Stony
> > Brook M2 days. So much more concise than Copy().;
>
> Let me please quote Marco and say "this is a synthetic sugar", or at
> least sort of.. it's not like there is no way (without creating your
> own function) to do this... but if you really want, please write all
> the pro and cons about it, and if people will think that the pro's are
> better then the cons' I sure that more people will agree...
It is supported in FPC 2.2. The reason to support it is not the
syntactic sugar aspects, but to allow passing dynamically allocated
memory.
I.e. if you have a:
procedure sort(var a:array of word);
... and some dynamically allocated memory, a call to sort can be done
like:
var p:Pword;
begin
getmem(p,2000*sizeof(word));
{.......}
sort(p[0..1999])
end;
As there is no other way to do this, array slices are a usefull addition
to the language. It also looks like they will allow better optimization in
the future, because the compiler knows more information in advance, like
wether the ranges can overlap or wether the data to be moved is already
aligned.
Daniël
More information about the fpc-pascal
mailing list