[Info-vax] VMS internals design, was: Re: BASIC and AST routines

Arne Vajhøj arne at vajhoej.dk
Tue Nov 30 14:46:52 EST 2021


On 11/30/2021 2:22 PM, Simon Clubley wrote:
> On 2021-11-29, Johnny Billquist <bqt at softjar.se> wrote:
>> I agree with the sentiment here, but this is not something that has
>> anything to do with VMS.
>>
>> This is a choice that was done by the people writing the language
>> runtime system. For some reason they thought it was a good idea to
>> expose these internal things explicitly in the language. I would not do
>> it, and it seems you wouldn't either.
>>
>> But why are you blaming that on VMS?
> 
> In addition to the comments posted by Stephen, VMS has what is called
> the Common Language Environment, which all DEC compilers must comply
> with. The CLE is a standard which sets down rules to allow modules
> written in different programming languages to interact with each other.
> 
> As another example of how VMS controls the compilers, VMS also supplies
> the Structure Definition Language files and the SDL compiler to generate
> the language-specific VMS headers from the VMS supplied SDL files. These
> VMS-specific headers are not manually created by the compiler teams.
> 
> For these reasons, I have always regarded this kind of thing as being
> a part of VMS itself and not just something done by the compiler teams.
> The compiler teams do not have a free hand here and have always been
> driven by standards and processes laid down by VMS engineering.

Now I am confused.

I thought the argument was that VMS VAX was doing
(and VMS Alpha + VMS Itanium continued to for
compatibility reasons):

VMS---(5 args)--->AST function

and many people would have preferred:

VMS---(1 arg)--->AST function

The language and language runtimes of the AST function does
not matter for that. The arguments are there.

The difference is that some languages / language runtimes are
fine with 5 args being present and AST function expecting
1 arg while other languages (specifically Basic) complain
and AST function must declare 5 args.

Arne







More information about the Info-vax mailing list