[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