[Info-vax] VMS Software Q1 '23 Update
John Reagan
xyzzy1959 at gmail.com
Fri Feb 3 19:01:40 EST 2023
On Friday, February 3, 2023 at 9:36:57 AM UTC-5, Arne Vajhøj wrote:
> On 2/3/2023 8:58 AM, Dan Cross wrote:
> > In article <trhi5t$13ikm$2... at dont-email.me>,
> > Arne Vajhøj <ar... at vajhoej.dk> wrote:
> >> On 2/2/2023 10:08 AM, Single Stage to Orbit wrote:
> >>> On Thu, 2023-02-02 at 06:40 -0800, plugh wrote:
> >>>>> I'm currently teaching myself Rust and have been for the past two
> >>>>> years. It is a most interesting programming language.
> >>>>
> >>>> It would be interesting to make this available on the new VMS. I had
> >>>> some notes on this, but I don't think I kept them.
> >>>
> >>> LLVM supports x86_64 and ELF out the box, so I imagine the truly hard
> >>> bits wil be the bindings to OpenVMS calls and data structures.
> >>
> >> I suspect that there is a bit more to get a LLVM based compiler
> >> working on VMS x86-64 than that.
> >>
> >>> Async
> >>> and locking primitives will need to be implemented, that won't be easy.
> >>
> >> Isn't async build on top of threads?
> >
> > No, not necessarily. async can be used to build threads,
> > and async executors can run in threads, but the two are
> > in many ways duals of one another.
> It is two very different programming models.
>
> But the usual async await model is that it is syntactic
> sugar that under the hood creates a task that get scheduled
> to run in a thread pool.
>
> From as programming model perspective it is:
>
> async await - task and thread pool - raw threads
>
> But implementation wise it is different levels of abstraction:
>
> async await
> |
> task and thread pool
> |
> raw threads
>
> For someone developing applications in Rust then the
> programming model is what is important.
>
> But for porting Rust compiler and runtime to a new OS,
> then the implementation matters.
>
> My expectation would be that if the OS expose a
> working pthreads C library then Rust could do
> async await on that platform as all the layers
> in between would work.
>
> Of course all this stuff is most useful if
> there is support for async IO. VMS most definitely
> support that. But depending on what Rust rely on
> then there may be a gap between what the Rust
> runtime expects and what VMS has.
>
> Bridging *nix centric IO and VMS IO can be
> tricky. Just look at the Java IO on VMS
> mess.
>
> So I am not definitely not saying that getting
> Rust running on VMS will be easy.
>
> Arne
BTW, the Rust compiler is written in Rust. You have to bootstrap it from a Linux box.
Not a show stopper (that is exactly what we did with clang), but one more piece to the
puzzle.
More information about the Info-vax
mailing list