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.
The language itself draws pieces of influence from
Eiffel (like the built-in contract features),
Euclid (from the mindset of a designing a language whose programs are to be verified),
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).
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.