I think compact verification aware languages will be of particular interest to anyone wanting to make machine learning models write code at scale. Verification, and test generation, seem critical to the process of getting feedback from the program itself and improving the automatic code generation process. Not quite as powerful as self-play was for two player game playing, but it's got to be close.
fyi Dafny is written by Microsoft and used by Amazon: <a href="https://www.amazon.science/blog/how-we-built-cedar-with-automated-reasoning-and-differential-testing" rel="nofollow">https://www.amazon.science/blog/how-we-built-cedar-with-auto...</a>
I've tried a few times to get into this but honestly it's very very difficult. You pretty much need to have a degree in formal verification to be able to actually verify anything except toy examples. I kept hitting cases where things wouldn't verify, and the reason is due to something deep in the implementation that really only the authors would know about.<p>Also the language is huge, and while it's quite well documented, the level of documentation you <i>want</i> for this is far more than for a normal language.<p>On the plus side, the authors are really helpful on Github, and the IDE support in VSCode is great.
Looks like a cornucopia of nice programming language features, including one that's in Ada that almost no other language provides: integer subset types/range types. Definitely promising.<p>The documentation is very jittery/laggy while scrolling on a phone though. I don't know why that's about, but it's distracting.
There's a recent textbook for Dafny aimed at undergraduates with a bit of programming experience. [0]<p>[0] <a href="https://mitpress.mit.edu/9780262546232/program-proofs/" rel="nofollow">https://mitpress.mit.edu/9780262546232/program-proofs/</a>
Looks like it has been around since 2008:<p><a href="https://www.microsoft.com/en-us/research/project/dafny-a-language-and-program-verifier-for-functional-correctness/" rel="nofollow">https://www.microsoft.com/en-us/research/project/dafny-a-lan...</a><p>> K. Rustan M. Leino. Dafny: An Automatic Program Verifier for Functional Correctness. In LPAR-16, volume 6355 of LNCS, pages 348-370. Springer, 2010.<p>> K. Rustan M. Leino. Specification and verification of object-oriented software. In Engineering Methods and Tools for Software Safety and Security, volume 22 of NATO Science for Peace and Security Series D: Information and Communication Security, pages 231-266. IOS Press, 2009.