[fpc-devel] Thoughts on being able to declare "pointer-to-type" parameters directly in method signatures?

Ben Grasset operator97 at gmail.com
Mon Jun 10 02:47:55 CEST 2019


On Sun, Jun 9, 2019 at 8:11 PM Dmitry Boyarintsev <skalogryz.lists at gmail.com>
wrote:

> One can't do
>   function myFunc(var a: record a,b: integer; end): integer;
> the record type has to be declared separately.
>

Of course not. That would be rather nonsensical, *for very obvious reasons*,
that I've already gone out of my way to address in this comment chain. It
is however utterly ridiculous to directly correlate that with `^Type`
syntax, as they are only related in the most vague of ways.

On Sun, Jun 9, 2019 at 8:11 PM Dmitry Boyarintsev <skalogryz.lists at gmail.com>
wrote:

> declaring
>   function myFunc(var a: array of integer): integer;
> is 100% not the same as
>   TArrayType = array of Integer;
>   function myFunc(var a:  TArrayType  ): integer;
>

Trying to pretend like this
*completely-irrelevant-to-the-current-subject *point means
anything at all in this context is frankly even more ridiculous,
notwithstanding the fact that the whole "open array vs. dynamic array"
thing is *only remotely applicable in any way whatsoever* to, well, *arrays
*(and quite arguably a bizarre quirk of the language in the first place.)

If you're going to do this whole faux-academic "I care so very much about
strictly traditional Pascal" thing, also, at least do it with features
that *are
*themselves in any way "traditional". *Everything *about the entire
existence of dynamic arrays is *non*-traditional, and dreamt up by some
random combination of Borland employees in California at some point in the
1990s, none of whom we're likely to ever even know the specific names of.

Are we going to remove dynamic arrays, though? No, of course not, because
they're *useful.*

On Sun, Jun 9, 2019 at 8:11 PM Dmitry Boyarintsev <skalogryz.lists at gmail.com>
wrote:

> so parameter type declaration is pretty much "reserved" for Embarcadero to
> change... and FPC will eventually follow :)
>

Embarcadero is a running joke of a company, firmly in the "it's surprising
these guys are still in business at all" category, with a long history of
decisions made
for reasons that had *absolutely nothing *to do with making Pascal better
(such as outsourcing large aspects of recent Delphi development) and
*absolutely
everything *to do with
pretty desperately trying to continue to make money in any way they
possibly could.

I do not care in the slightest about them or anything they do, and I had
frankly been under the impression that many people in the FPC community
felt the same way.
If anything, FPC's development team has a *far* better track record of
competence and is objectively more qualified to make decisions about the
language in a general sense.

(Not that I think we even *need* that kind of overly formal "decision
making". This is not C++, we do not have the ISO Pascal Committee, and as
far as I'm concerned that's probably a good thing.)

That said, again, I think *all *of this is massively overblowing the issue.
I find it quite surprising that there's really any controversy at all with
regards to `^Type` in method declarations,
as the way I see it it's a highly non-intrusive bit of added syntax that
almost certainly should have been there in the first place.

On Sun, Jun 9, 2019 at 8:11 PM Dmitry Boyarintsev <skalogryz.lists at gmail.com>
wrote:

> Do you really want to change it? If yes, what's the **technical**
> benefit?
>

Yes? Obviously? I clearly demonstrated the technical benefit in my original
comment. *Yet again *though I do not understand why this is controversial.
It would amount to a very tiny syntax addition, that does *nothing *other
than make certain things *easier* to write.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20190609/bfce968c/attachment.html>


More information about the fpc-devel mailing list