[Info-vax] VMS internals design, was: Re: BASIC and AST routines
Phil Howell
phow9917 at gmail.com
Tue Nov 30 21:11:19 EST 2021
On Wednesday, 1 December 2021 at 6:46:56 am UTC+11, Arne Vajhøj wrote:
> On 11/30/2021 2:22 PM, Simon Clubley wrote:
> > On 2021-11-29, Johnny Billquist <b... 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
You are not alone in your confusion
See this post from a long time ago
https://community.hpe.com/t5/Operating-System-OpenVMS/AST-routine-and-C-language-va-count-va-start-va-end-etc/td-p/4878940#.YabUqew8arU
More information about the Info-vax
mailing list