top | item 22076499

(no title)

plietar | 6 years 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.

discuss

order

thesuperbigfrog|6 years ago

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.

youdontknowtho|6 years ago

Wow! Thanks for replying. That's a really good point. I'm looking forward to trying it. Cheers.

IshKebab|6 years ago

So it doesn't have any kind of `unsafe` escape hatch like Rust?