[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