[Info-vax] Meditech in the news
George Cornelius
cornelius at eisner.decus.org
Mon Jan 17 07:55:36 EST 2022
Arne Vajh?j <arne at vajhoej.dk> wrote:
> On 1/6/2022 3:01 PM, Arne Vajh?j wrote:
>> On 1/6/2022 10:46 AM, Arne Vajh?j wrote:
>>> One may not like MUMPS and its variants.
>>
>> For those with an strong desire to try MUMPS aka M on VMS, then:
>>
>> https://sourceforge.net/projects/fis-gtm/files/GT.M-Alpha-OpenVMS/V6.2-001/
>>
>> should be a VMS Alpha build of GT.M version 6.2 (no VMS version of
>> 6.3 or 7.0).
>>
>> I have not tried it myself.
>
> Now I have. Hello world works.
>
> $ type test.m
> hello()
> write "Hello world from Mumps!",!
> quit
> $ mumps test
> $ link test
> $ r test
> Hello world from Mumps!
Congratulations!
Though Greystone ran here for a number of years on AIX, I never
bothered to ask for access to it, nor did I try to install it
under VMS.
Would be curious as to what the compiled code looks like, though.
Greystone was unusual in that it generated object code. I suspect
it was a lot of calls to subroutines. Or a bit of setup code followed
by invoking an interpreter for, say, stack-machine code.
If the latter, not sure why it would be necessary to have separate
compilation - other environments just perform a hidden precompile -
except that, if the language had the capability to call external
routines, you could link those routines directly in with the compiled
Mumps code and not have to have a special shared library of
globally defined external routines [*],[**].
George
[*] DSM, and predecessor DSM-11, had external calls that looked
like:
SET RESULT=$ZCALL(function,arg[,...])
although DSM eventually changed the name to ECALL, along with
a slight syntax modification.
[**] Got into writing ZCALL routines early in my DSM-11 programming
days with the help of Mark Berryman - thanks, Mark! - who provided
some links to what was published about it by Digital, along with
various missing details such as register conventions. To create
binary code to be placed in a patch area at startup time, worked
on our VAX 11/780's RT11 console system to assemble (and maybe link?)
my Macro-11 code - which I suspect had to be carefully written to
be position independent - then transfer it to the '11 to be placed
in the ^PATCH global from which the autoload would occur. DSM,
running on top of VMS, was more advanced, and you could compile
and link your code, along with a special ECALL table, into a VMS
shared image.
More information about the Info-vax
mailing list