3 ms·
(I work on Verona, originally as an intern at MSR, now as a PhD) > It's interesting that building a self-hosting environment is a stated non-goal. Sounds like
by plietar 7y ago
(I work on Verona, originally as an intern at MSR, now as a PhD)
> 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.
- thesuperbigfrog 7y agoReading 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) https://en.wikipedia.org/wiki/Ada_(programming_language)) or SPARK (https://en.wikipedia.org/wiki/SPARK_(programming_language) 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.
- youdontknowtho 7y agoWow! Thanks for replying. That's a really good point. I'm looking forward to trying it. Cheers.
- IshKebab 7y agoSo it doesn't have any kind of `unsafe` escape hatch like Rust?