[Info-vax] Error Messages in Basic - %BASIC-E-PARMODNOT, mode for parameter <n> of routine <procedure-name> not as declared

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Sun Jun 9 14:31:12 EDT 2019


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.


-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list