[Info-vax] VMS internals design, was: Re: BASIC and AST routines
Simon Clubley
clubley at remove_me.eisner.decus.org-Earth.UFP
Wed Dec 1 13:32:26 EST 2021
On 2021-11-30, Arne Vajhøj <arne at vajhoej.dk> wrote:
> 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.
>
That is indeed exactly what this is about and you are right in
what you say above. This is behaviour defined at VMS level, not
at compiler level.
Johnny was thinking this may be a compiler issue that exposed the
extra arguments, not a VMS issue, based on something he appears to
be seeing in Unix. (I don't have enough internals knowledge in that
specific part of Unix to know if he's right about that or not.)
However, on VMS, this is very much a part of VMS, is based on VMS
standards, and is not something done in the compilers. It's just that
the various compilers react differently to what VMS itself is doing.
Simon.
--
Simon Clubley, clubley at remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.
More information about the Info-vax
mailing list