Try Dafny
The easiest way to get started with Dafny is to use rise4fun, where you can write and verify Dafny programs without having install anything. On rise4fun, you will also find theonline Dafny tutorial.
Install the binaries
Windows: To install Dafny on your own machine, download Dafny.zip andsave it to your disk. Then, before you open or unzip it, right-click on it and select Properties; at the bottom of the dialog, click the Unblock button and then the OK button. Now, open Dafny.zip and copy its contents into a directory on your
machine. (You can now delete the Dafny.zip file.)
Then:
- To run Dafny from the command line, simply run Dafny.exe from that directory.
- To install Dafny for use inside Visual Studio 2012, double-click on DafnyLanguageService.vsix to run the installer. You may first need to uninstall the old version of the extension from within Visual Studio (Tools ==> Extensions and Updates). Then, whenever you open a file with the extension .dfy in Visual Studio, the Dafny mode will kick in. (If you don't intend to run Dafny from the command line, you can delete the directory into which you copied the contents of Dafny.zip.)
- There is also a Dafny mode for Emacs.
Linux and Mac: Make sure you have Mono version 4. Then save the contents of the Dafny.zip for the appropriate version of your platform. You may need to make sure that `Dafny.exe` is marked as executable. You can now run Dafny from the command line by invoking the script file `dafny`. For an IDE, use the Dafny mode for Emacs.
Install the source code
First, install the following external dependencies:
- Visual Studio 2012 Ultimate
- Visual Studio 2012 sdk extension
- Code contract extension
- NUnit test adapter
- TortoiseHg (source control)
- To install lit (for test run):
Second, clone source code using TortoiseHg. The "clone source" can be found under "source code" tab "clone" of corresponding codeplex site:
- Dafny
- Boogie
- BoogiePartners
- copy Coco.exeto \boogiepartners\CocoRdownload
Last, follow the conventions:
- Visual Studio
- Set "General:Tab" to "2 2"
- For "C#:Formatting:NewLines" Turn everything off except the first option.
- Change TortoiseHg "synchronize" button from default "none" to "Pos Pull: update".