Re:Microsoft Project Verona: Research programming language f...
by thesuperbigfrog on Friday January 17, 2020 @01:45PM
(#22077762)
Reading through the GitHub repo, I see Rust, Cyclone, and Pony as idea sources, but I was surprised to not see Ada (https://en.wikipedia.org/wiki/Ada_(programming_language)) or SPARK (https://en.wikipedia.org/wiki/SPARK_(programming_language)). Both Ada and SPARK are mature, production-ready languages that have strong safety guarantees and concurrency built-in.
SPARK in particular might be worth looking at for another idea source depending on Project Verona's goals and needs.
Re:Microsoft Project Verona: Research programming language f...
by youdontknowtho on Friday January 17, 2020 @03:43PM
(#22079042)
Wow! Thanks for replying. That's a really good point. I'm looking forward to trying it. Cheers.
> It's interesting that building a self-hosting environment is a stated non-goal. Sounds like they are really focused on research and not building a production toolchain, but who knows?
The point isn't that the language will never be "production-ready" enough for it. It's that the language is intentionally limited in what kind of low-level hacks and concurrent mutation you can do, in order to remain safe. Writing this kind of code correctly is hard, and designing a language that exposes the full expressiveness in a sound and practical way is near impossible (at least given today's state of the art research).
The Verona runtime is therefore implemented in C++, which does have these capabilities. In some future it would nicer to formally verify the runtime for correctness, but that's a lot of work.