|
Doug, > >%AtoI (Alfa to integer) > >%AtoF (Alfa to float) > Just add QC2LE as a binding directory, and prototype calls to the > C-functions atoi() and atof() using a /COPY member for the prototypes. I know and I do - many of the current bifs are available as C-library functions - still I find the bifs easier to use and better documented. > >%Array (Move array) > It is much more complicated than that; MOVEA isn't just a horse of a > different color, it is a whole herd of horses all of different colors. - well go get them; I wouldn't pretend that my example was exhaustive - to me this seems more of a semantic issue than a functional: MOVEA is a single opcode covering the many aspects you're referring to - why would a bif necessarily be different? > >%Date (Convert to/from date) > Service programs with date routines already work real good for this. The introduction of subprocedures and support of varying length character strings allows you to build your own bifs in all shapes & flavours. Still I think that key-functions are best dealt with as part of the language - if a function is generally needed why not make it generally available, unexposed to the pitfalls of signature checking and need for prototyping? > >Operation extender O (Overlay): > I'd much prefer to see %subst() used on the left and/or right side of > the equation. Then the intent is obvious and readable. (IMHO) Agreed! > You also haven't covered some of the worst offenders of MOVE in RPG, > at least as far as the intent being non-obvious. That occurs when > factor2 and the result field are different data types, but the number > of digits in one is different than the number of characters in the > other. I'd suggest %Ambigious :) > And you haven't covered repeating figurative constants like MOVE > *ALL'1234' RESULT. And numerous other variants. Like using two > numeric fields with unequal number of decimals, etc. I thought I'd leave it for the real experts at the Toronto lab to cover the really complex and subtle challenges! My objective was cover the - from my perspective - most common tasks performed by the Move-operands. > And then you have to consider the cases when the result field is an > array, instead of a field or array element. And the list goes on... - and as the chinese says: "Even the longest journey begins with the first step" :) Best regards, Carsten +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@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.