[Info-vax] PL/I (Re: VMS Software needs to port VAX DIBOL to OpenVMS X86 platform)
Tim Sneddon
tsneddon at panix.com
Tue Jan 5 20:42:34 EST 2021
Arne Vajh??j <arne at vajhoej.dk> wrote:
> On 1/5/2021 2:05 AM, Tim Sneddon wrote:
>> Craig A. Berry <craigberry at nospam.mac.com> wrote:
>>> The folks making money from PL/I on OpenVMS Alpha did not see a business
>>> case for porting it to Itanium almost 20 years ago,
>>
>> There absolutely was a case. Unfortunately, there was also an expectation
>> that somethings should come for free. That something being the GEM backend.
>> PL/I uses the BL 21 release of GEM (with some other tweaks from later
>> versions). However, there were some big changes in GEM that broke things
>> so much so that Ada didn't move forward either. By the time Itanium
>> happened GEM development had moved on and little thought was given to all
>> the annoying things that PL/I needed. So, a PL/I on Itanium either needed
>> a retargetted compiler or development to bring the VMS code-base to a
>> later GEM an then a move to GEM on Itanium.
>>
>> I proposed retargetting the UNIX compiler to LLVM and moving forward. This
>> was knocked back because the opinion was that HP should provide the GEM
>> backend, etc. for free. There was nothing technical about the decision
>> at all.
>
> Targetting JVM (or CLR for non-VMS) may have been a wise move.
>
There was discussion about targetting JVM too, I did some preliminary
work there. While it was a fun exercise heading to LLVM is a smarter
idea and has it's own JIT, even back in 2010.
> That would have solved the platform problem.
>
What platform problem? Retargeting a compiler is part of maintaining a
compiler, it is a completely expected and accepted task.
> Obviously there is also some potential problems. How common was
> it for VMS PL/I program to call LIB$/SYS$ or link with Macro-32/C code?
>
Some? Try heaps. PL/I code, like any other VMS application calls
LIB$ and SYS$ (and other multi-language libraries). The compiler
itself used multiple languages:
* VAX -- PL/I and MACRO-32
* Alpha -- PL/I, C and MACRO-32
Regards, Tim.
More information about the Info-vax
mailing list