|
"RPG400-L" <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> wrote on 10/08/2019
06:52:59 PM:
Yes, but my question is, are the candidate prototypes *required*, or
just the overloading prototype? If it is indeed fundamentally a
compiler directive, then it would seem they are all required. And if
they're all required, one might as well use the candidate prototypes.
That is true. However, I see the purpose of this enhancement as
providing an end-user a means of emulating what IBM can do with their
built-in functions. For example, the %date function can accept arguments
of different data types while delivering a uniform returned result. IBM
*could* have delivered multiple date functions with a distinct and unique
naming convention in order to portray the nature (type) of the expected
argument. That is what we had to do up to this point with the procedures
we developed.
But, with this enhancement, you too can use a single procedure
name on the front end but be able to pass different data types and get a
uniform returned result. I have done this by using a character data type
and having to convert my data to character format before passing it to the
procedure. Now I don't have to convert it on the front end and can let
that be done automatically by the compiler.
Sure, there are more procedures on the back end but it is the
front end that is cleaner and easier to understand. With multiple
procedures on the back end, that makes maintenance easier, too, because
each back-end procedure only handles a single data type instead of having
to manipulate things in a single back-end procedure.
I can think of other ways this enhancement could have been
delivered. But, I don't see anything inherently wrong with the way it was
done, either.
Sincerely,
Dave Clark
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.