× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



What RPG implemented from a compile time perspective was based on what C does with header files. At run time ILE uses the signature of the service program for validation. Sadly that signature does not take parameters into account - probably a mistake in hindsight but we have what we have.

Was it a "partial solution" - Yes - in hindsight. But hindsight is always 20/20.

Sadly I can't go back and change history and win some of the battles I lost (if only!) - So when I used the term "partial" I was referring to IBM's attitude towards fixing problems in the current implementation - not the original design.

This will be my last comment on this topic - it is just getting too circular.

ILE was designed to fix specific problems (mainly portability of C-style applications and speed of call in highly modular applications). Hence, for example, the use of slot #s at run time for locating a specific exported procedure rather than binding by name. At the time, the kind of runtime overhead that some of the proposed solutions proposed in this thread would have imposed was just not practical. Back in V2R3 things like Java ran slower than a turtle and the notion that we could have expected reasonable performance from languages like PHP, Python and node was just laughable. We now have hardware speeds that make less efficient methods viable - but sadly that doesn't change history.


Jon Paris

www.partner400.com
www.SystemiDeveloper.com

On Mar 6, 2018, at 3:16 PM, D*B <dieter.bender@xxxxxxxxxxxx> wrote:

Jon,

let's talk about partial solutions:
The mechanism checking prototypes against implementation of the RPG compiler:
- using an export of another module, you would have to make a declaration of the function you want to use, right?
- the compiler will check the usage of the procedure against the prototype, right?
- at bind time it's enough, that the name of your import is the same as the name of the export, right?
A full solution would check against the interface of the implementation!!! What IBM did, is a partial solution and with the changes, that no PR is needed for an exported procedure is was getting worse - or am I overloking something?

Best regards

Dieter

<Jon>
In general IBM has not been in favour of partial solutions to issues such as this and it is not as if the prototyping requirements are that arduous.
</Jon>
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
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: http://amzn.to/2dEadiD


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.