Dafny is a verification-aware programming language that supports modern programming language features such as:
Here are some ways to get started with Dafny:
Some Dafny programmers may be interested in Dafny's /optimize Feature.
- imperative methods
- mathematical functions
- integers, sets, and sequences
- mutable classes and arrays, as well as traits
- inductive and co-inductive datatypes
- lemmas and proofs
Here are some ways to get started with Dafny:
- Online tutorial, focusing mostly on simple imperative programs
- 3-page tutorial notes with examples (ICSE 2013)
- Dafny Quick Reference
- Language reference for the Dafny type system, which also describes available expressions for each type
- Cheatsheet: basic Dafny syntax on two pages
- Videos at Verification Corner
Some Dafny programmers may be interested in Dafny's /optimize Feature.