[fpc-pascal] Feature announcement: Dynamic array extensions

Bernd Oppolzer bernd.oppolzer at t-online.de
Mon Jun 4 08:52:22 CEST 2018


Am 03.06.2018 um 18:12 schrieb Sven Barth via fpc-pascal:
> Bernd Oppolzer <bernd.oppolzer at t-online.de 
> <mailto:bernd.oppolzer at t-online.de>> schrieb am So., 3. Juni 2018, 11:56:
>
>
>
>     Am 02.06.2018 um 15:14 schrieb Sven Barth via fpc-pascal:
>>     Mark Morgan Lloyd <markMLl.fpc-pascal at telemetry.co.uk
>>     <mailto:markMLl.fpc-pascal at telemetry.co.uk>> schrieb am Sa., 2.
>>     Juni 2018, 10:53:
>>
>>         However as Dennis points out + is also essential for vector
>>         operations.
>>         Perhaps either leaving it to the programmer to define what's
>>         needed
>>         would be the best approach, or alternatively splitting
>>         dynamic arrays
>>         into mathematical vectors and non-mathematical collections.
>>         Or relaxing
>>         the requirement that only predefined operators can be
>>         redefined, so that
>>         something like _ could be used for concatenation.
>>
>>
>>     That needlessly complicates the parser as the compiler still
>>     needs to know them and they also need to be part of its operator
>>     precedence rules. Don't complicate the language for nothing! And
>>     in the end operator overloads are one of the best examples for
>>     syntactic sugar as you can easily achieve the same result with
>>     functions and methods.
>>
>>     Regards,
>>     Sven
>>
>
>     This is somehow off topic of course,
>     but IMO it is strange to use + for string concatenation;
>     I always have bad feelings about this. This whole thread would
>     not exist, if FreePascal had gone another direction like PL/1, for
>     example,
>     where the string concatenation operator is ||
>     (and DB2, and - probably - other SQL dialects).
>
>
> FPC inherited the +-operator for concatenation from the base language: 
> Pascal. So there simply was no other route to take (not that anyone 
> would have thought to take a different route).
>
>
>     Where does this + for string concat come from?
>
>
> Ask Wirth, he is the one who invented Pascal...
>

AFAIK, the Pascal Standard (ISO) does not tell anything about strings
and concatenation. Wirth did not include varying length strings into
the language in the 197x years. Every Pascal compiler which contains
strings and concatenation does this by extending the Pascal Standard
and can choose its own way to do it.

IBMs Pascal/VS uses || for string concatenation (inspired by PL/1, 
probably),
and that's what I implemented in the New Stanford Pascal compiler, too.

The + for concatenation must be an invention of Turbo Pascal or UCSD Pascal
or something like that.

> Regards,
> Sven
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20180604/e3455160/attachment.html>


More information about the fpc-pascal mailing list