Dafny
Dafny is a programming language with a program verifier. As you type in your program, the verifier constantly looks over your shoulders and flags any errors. Dafny is currently spread across 3 sites:- Dafny homepage, which contains some information about Dafny http://research.microsoft.com/dafny.
- This site, which includes binary downloads, sources, and the Discussions and Issue Tracker forums for asking questions, http://dafny.codeplex.com.
- The Rise4fun site, where you can verify Dafny programs in your web browser, http://rise4fun.com/dafny.
Read more:
Dafny has just moved to this site. Some documentation is still found at the old site, http://boogie.codeplex.com, but it will soon move here.
The language itself draws pieces of influence from:
- Euclid (from the mindset of a designing a language whose programs are to be verified),
- Eiffel (like the built-in contract features),
- CLU (like its iterators, and inpiration for the out-parameter syntax),
- Java and C# (like the classes, although Dafny does not support subclassing),
- ML (like the module system, and its functions and inductive datatypes, but Dafny does not support higher-order features), and
- Coq (like the ability to include co-inductive datatypes and being able to write inductive and co-inductive proofs).