Am 24.07.2013 14:18, schrieb Mark Morgan Lloyd:
Sven Barth wrote:
Am 24.07.2013 12:37, schrieb Mark Morgan Lloyd:
Jonas Maebe wrote:
On 24 Jul 2013, at 03:41, Bernd Oppolzer wrote:
- Stanford Pascal (my version) allows (. .) and (/ /) as
substitutes for [ ]
FPC also supports (. and .). It doesn't support (/ and /) though.
Support for that could maybe be added under a new syntax mode or
mode switch switch, but is this a common syntax? I've never heard
of that one before.
I'd suggest avoiding (/ /) as comments.
Vector Pascal allows e.g. \+ as a reduction-addition operator, if
FPC ever considered implementing anything like this it would be
desirable to have \ and / unencumbered.
http://www.dcs.gla.ac.uk/%7Ewpc/reports/compilers/compilerindex/vp-ver2.html
Hmm... I like the idea of array operators :) Could be added as an
additional modeswitch to avoid backwards compatibility problems with
overloaded operators for arrays...
APL- where a lot of this comes from- uses / for reduction (knocks a
dimension off, e.g. the total of the numbers in a list) and \ for scan
(e.g. the running total of a list). I think it's desirable to avoid \
because of its legacy as an escape in unix, some sort of efficient
reduction is obviously a bit of a hot topic because of Google
"map-reduce" etc.
With the compiler as it stands, I've been able to define e.g.
<variant> + <dynamic array>, define a variant constant "reduce", and
then do e.g. a := reduce + b where b is an array. Which was all fine
except that (at least when I last looked) there wasn't a compact
notation for initialising a dynamic array, i.e. no b := (1, 2, 3, 4).
Interesting idea to "misuse" a Variant for that :)
If you have a named dynamic array type then you can use
"TMyArrayType.Create(1, 2, 3, 4)", though this only exists in Trunk
(reason: Delphi compatibility). My idea was to implement a Pascal like
way for this somewhen which would use "b := [1, 2, 3, 4]" (because in
code sections arrays are normally done using "[...]" instead of "(...)"
(which is used in constant sections)).
Regards,
Sven
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel