|
You can preserve the slot anyway. I don 't think that is the problem.
The real problem for the type of support that is being requested, as I
said earlier, is the operating system support needed.
Rochester have been asked over and over again to improve descriptor and/or
PCML support. The only changes they have made have been to PCML and that
was mostly because IWS needed it to improve the range of parameter types
they could handle.
I'm not saying that it shouldn't be asked for. Merely pointing out that it
is a very expensive proposition that has yet to show enough potential for
return to justify the expense.
In other words I'm going to remain happy with what I have and work towards
improving it. I'm not going hold my breath waking for more.
On Oct 15, 2019, at 8:41 AM, Mark Murphy <jmarkmurphy@xxxxxxxxx> wrote:the
Hiding overridden procedures does not necessarily have to break
compatibility. I am not sure how it works right now, I suspect that the
exports appear in the service program in binder source order. Based on
way service programs work, I don't think you would necessarily breakmaintains
compatibility of existing programs. Maybe it would force a source change
when you recompile though. Maybe a new binder source keyword that
the slot, but prevents binding to the overridden procedure except throughforward
the common procedure name.
This would prevent the unique procedure names from being used going
which is the point of procedure overloading anyway.wrote:
On Wed, Oct 9, 2019 at 11:35 AM Jon Paris <jon.paris@xxxxxxxxxxxxxx>
could
Then you'd also have to have an extra rule that said that no overridden
entity could ever be called directly. In other words you'd break
compatibility with existing code that was being enhanced.
On Oct 9, 2019, at 8:20 AM, Mark Murphy <jmarkmurphy@xxxxxxxxx> wrote:
As I am not in a position to test this, my only real concern is that I
would have to have extra prototypes in my outline list (though this
vhamberg@xxxxxxxxxxxxxxxpossibly be mitigated by RDi). Maybe they could hide overriddenprototypes
in the outline unless they were specifically used.wrote:
On Wed, Oct 9, 2019 at 11:13 AM Mark Murphy <jmarkmurphy@xxxxxxxxx>
it
It should be able to if it were completely implemented, but as of now,
only supports character parameters.
On Wed, Oct 9, 2019 at 9:29 AM Vernon Hamberg <
could
wrote:
Jon
Could operational descriptor support help with any of this?
Vern
On 10/9/2019 1:24 AM, Jon Paris wrote:
"I'm not convinced it would be impossible."
Not impossible no - b ut it requires work at the OS level - RP{G
theinformationnot do it by itself in any meaningful fashion. At present the
programis just not stored anywhere in the compiled objects. Foe example a
ofknows its maximum an minimum number of parameters - but not what type
thatdata and size they should be. Same with service program procedures.
data is just not stored by the system. The closest we come is when
thewouldcompiler generates on request the PCML data for a call. But even that
require a lot more work before it could be used for the type of
introspection needed. PCML currently can only support a subset of
compiler,full
enhancedrange of data that can be passed as parameters - so PCML has to be
for asignificantly before you can even think of using it as the foundation
anycall mechanism.
Not saying it wouldn't be nice - just that I don't see it happening
level.time soon.
PRs for every procedure. That eventually was resolved at the local
On Oct 8, 2019, at 9:24 PM, Peter Dow <petercdow@xxxxxxxxx> wrote:
I remember having this same feeling about having to include PIs and
theYes, it would be a lot more work for the compiler to have to look at
procedure;service program to determine the prototypes for each candidate
metadata,I'm not convinced it would be impossible. Same thing with procedure
prototypes.
they can be composed of object subtypes, for example a file has
My understanding of programs and other objects on the IBM i is that
index data, actual data, etc. To make things simpler for the
derivedhow
big aabout a subtype object containing the prototypes?
adding all the other things we want RPG to do, and this is not that
I know, Barbara does a great job and has more than enough work just
theydeal. I just don't like to think that it's impossible.
present otherwise how would the overload one know which to pick? If
On 10/8/2019 4:37 PM, Jon Paris wrote:
I thought that is what I had said Peter - but yes ALL have to be
are not there it has nothing to compare with.
procedures that are local and the parameter information can de
The only time that an overloaded prototype is not required is for
wrote:from
the procedure interface.
On Oct 8, 2019, at 3:52 PM, Peter Dow <petercdow@xxxxxxxxx>
wouldor
Yes, but my question is, are the candidate prototypes *required*,
compilerjust the overloading prototype? If it is indeed fundamentally a
alldirective, then it would seem they are all required. And if they're
berequired, one might as well use the candidate prototypes.
On 10/8/2019 1:21 PM, Jon Paris wrote:
Basically the rules haven't changed. For a procedure/program to
overloadcalled, a prototype (or the PI for internals) must be present.
(say) three protos in a /Copy source - I'm just going to add the
That includes the overloading proto. Normally I would have all
definition ofone to that set. No increase in work except for the original
wrote:the overload proto.
fundamentally a compiler directive in a different form.
This is all a compile time function and as I said earlier
On Oct 8, 2019, at 1:11 PM, Peter Dow <petercdow@xxxxxxxxx>
all
Jon,
Assuming the FORMAT procedure and its candidate procedures are
in a service program, how do I use it in another RPG program? I
tohaveguess that I have to put the prototype in the RPG program, yes? Do I
RPGto put all the candidate prototypes in there too? My thought was the
program using it would simply have
Dcl-Pr Format Override( ProcA, PgmB, JavaC );
but now that I put it that way, the compiler would have to go
not.JUSTIN@xxxxxxxxxxxxx>the service program to check my usage against each of those candidate
prototypes to see if it's allowed.
directive.
--
*Peter Dow* /
Dow Software Services, Inc.
909 793-9050
petercdow@xxxxxxxxx <mailto:petercdow@xxxxxxxxx>
pdow@xxxxxxxxxxxxxx <mailto:pdow@xxxxxxxxxxxxxx>
/
On 10/8/2019 12:14 PM, Jon Paris wrote:
FORMAT is never exported because it is only really a compiler
compilation directive such as ...
For example thing of it this way.
Dcl-Pr Format Override( ProcA, PgmB, JavaC );
This is handled by the compiler much like a conditional
/IF ParmMatches ProcA
CallP ProcA(parm);
/ELSEIF ParmMatches ProcB
CallP PgmB(parm);
/ELSE
....
It is that simple.
On Oct 8, 2019, at 11:28 AM, Justin Taylor <
exportedwrote:
Is FORMAT exported? There will be times when I want it
actualand other times I don't. My best guess is that it inherits from the
procedures.
-----Original Message-----
From: Jon Paris [mailto:jon.paris@xxxxxxxxxxxxxx]
Sent: Tuesday, October 08, 2019 1:04 PM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: Latest RPG Updates
Actually it doesn't matter if the procedure is exported or
relatedIn fact the overloaded routines can include programs, Java calls, and
subprocs.
related questions.
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription
affiliate link: https://amazon.midrange.com
Help support midrange.com by shopping at amazon.com with our
software.--
This email has been checked for viruses by Avast antivirus
https://www.avast.com/antivirus
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription
affiliatequestions.
affiliate link: https://amazon.midrange.com
Help support midrange.com by shopping at amazon.com with our
questions.--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related
affiliate link: https://amazon.midrange.com
Help support midrange.com by shopping at amazon.com with our
questions.--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related
affiliate link: https://amazon.midrange.com
Help support midrange.com by shopping at amazon.com with our
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our
questions.--questions.--link: https://amazon.midrange.com
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related
link: https://amazon.midrange.com
Help support midrange.com by shopping at amazon.com with our affiliate
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related
link: https://amazon.midrange.com
Help support midrange.com by shopping at amazon.com with our affiliate
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com
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.