[Info-vax] Error Messages in Basic - %BASIC-E-PARMODNOT, mode for parameter <n> of routine <procedure-name> not as declared
Dave Froble
davef at tsoft-inc.com
Sun Jun 9 15:49:53 EDT 2019
On 6/9/2019 2:31 PM, Stephen Hoffman wrote:
> On 2019-06-08 18:21:42 +0000, Jeffrey H. Coffield said:
>
>> There are a number of places in both text libraries as well as .BAS
>> files that have the following "patch":
>>
>> %IF %DECLARED(%BASIC$QUADWORD_DECLARED) = 0 %THEN
>> RECORD BASIC$QUADWORD
>> LONG FILL(2)
>> END RECORD
>> %LET %BASIC$QUADWORD_DECLARED = 1
>> %END %IF
>>
>> because Basic didn't have a quad data type. It does now and this
>> could/should be cleaned up.
>
> C and C++ use similar fencing around their declarations.
>
> Cleanup means a refactoring tool, or manual edits, or implementing
> "tolerance" in the compilers.
>
> This as BASIC$QUADWORD used is all over.
>
> I'd usually prefer refactoring and/or manual edits, and to clean up the
> old code.
>
> Entrenching this sort of stuff in the compilers or in the RTLs adds to
> the complexity of the source code and the run-time, makes what the
> developers and maintainers experience more complex, and generally defers
> the reconciliation.
>
> Preferably with some other benefits arising from the associated work.
> This to sweeten the changes. Kind of like OpenVMS releases causing
> interest in upgrades, and which really haven't been happening in most of
> twenty years.
>
> For this case, that sweetening might be better integer support, and/or
> UTF-8 support, the far-larger implementation of object support, and/or
> whatever else.
>
> llvm makes running different compiler phases easier, which can not only
> make source code completion nearly prescient, makes debugging better,
> but can make source translation and refactoring tools more reliable and
> capable.
>
> But here? I'd be willing to have a couple of releases to get rid of the
> old dreck manually, if that was the option. And if there was another
> and better reason to upgrade to newer.
>
>
It has occurred to me that there is actually benefits to not using
things such as BASIC$QUADWORD. As far as I know, I never have done so.
But then, I might limit myself to one hand when counting the number of
times I've used a quadword.
Simply, if there was nothing to remove then removal would not be a
problem. For instances where a programmer has implemented a custom data
type, that would continue to work, while a proper implementation would
not affect old code.
I recently looked at some rather old code, a routine named FILEINFO. I
swear, maybe over 90% of the code was declarations and other set-up
stuff. Rather disgusting. Though, as a "library routine", it's another
proof point that while some things such as Python are so useful, the
code is still in there, lots of it.
--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef at tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486
More information about the Info-vax
mailing list