To start developing for Windows Phone using F# as a language, you will need some prerequisites to be installed on your development system. The prerequisites are as follows:
Visual Studio 2010
Windows Phone Software Development Kit 7.1
Windows Phone Project and Item Templates for F#
So let's take a look at these one by one.
When you install Visual Studio 2010 (Professional or Ultimate) and choose the default options during installation, the installer will, by default, install Visual C#, Visual C++, Visual Basic, and Visual F#. This is by far the easiest way of starting to develop with F#.
The Software Development Kit (SDK) provides us with the tools needed to develop applications and games for the Windows Phone platform. The SDK can be downloaded from http://gnl.me/WPSDK71. The SDK installs the following components on your development system:
Microsoft Visual Studio 2010 Express for Windows Phone
Windows Phone Emulator
Windows Phone SDK 7.1 Assemblies
Silverlight 4 SDK and DRT
Windows Phone SDK 7.1 Extensions for XNA Game Studio 4.0
Microsoft Expression Blend SDK for Windows Phone 7
Microsoft Expression Blend SDK for Windows Phone OS 7.1
WCF Data Services Client for Window Phone
Microsoft Advertising SDK for Windows Phone
The easiest way to get up and running is to utilize one of the project templates available through the Visual Studio Gallery. These templates have been created by the F# community and they provide a great way to kick-start your project. Daniel Mohl, an F# Most Valuable Professional (MVP) has written a couple of Visual Studio templates that will help us to quickly get up and running with Windows Phone development using F#. You can download any of the following available templates based on your needs. The templates and URL from where you can download them is as follows:
F# and C# Windows Phone App (Silverlight) Template: http://gnl.me/FSharpWPAppTemplate
F# and C# Windows Phone List App (Silverlight) Template: http://gnl.me/FSharpWPListAppTemplate
F# and C# Windows Phone Panorama App Template: http://gnl.me/FSharpWPPanoramaAppTemplate
F# XAML Template: http://gnl.me/FSharpXAMLTemplate