F Sharp Programming/Getting Set Up
|F# : Getting Set Up|
At the time of this writing, its possible to run F# code through Visual Studio, through its interactive top-level F# Interactive (fsi), and compiling from the command line. This book will assume that users will compile code through Visual Studio or F# Interactive by default, unless specifically directed to compile from the command line.
F# can integrate with existing installations of Visual Studio 2008 and is included with Visual Studio 2010. Alternatively, users can download Visual Studio Express or Community for free, which will provide an F# pioneer with everything she needs to get started, including interactive debugging, breakpoints, watches, Intellisense, and support for F# projects. Make sure all instances of Visual Studio and Visual Studio Shell are closed before continuing.
To get started, users should download and install the latest version of the .NET Framework from Microsoft. Afterwards, download the latest version of F# from the F# homepage on Microsoft Research, then execute the installation wizard. Users should also consider downloading and installing the F# PowerPack, which contains handy extensions to the F# core library.
After successful installation, users will notice an additional folder in their start menu, "Microsoft F# 2.0.X.X." Additionally, users will notice that an entry for "F# Projects" has been added to the project types menu in Visual Studio. From here, users can create and run new F# projects.
It is a good idea to add the executable location (e.g.
c:\fsharp\bin\) to the
%PATH% environment variable, so you can access the compiler and the F# interactive environment (FSI) from any location.
As of Visual Studio 2012 the easiest way to get going is to install Visual Studio 2012 for Web at  (even if you want to do desktop solution). You can then install "F# Tools for Visual Studio Express 2012 for Web" from . Once this is done you can create F# projects. Search Nuget for additional F# project types.
Testing the Install
Hello World executable
Lets create the Hello World standalone application.
Create a text file called
hello.fs containing the following code:
(* filename: hello.fs *) let _ = printf "Hello world"
The underscore is used as a variable name when you are not interested in the value. All functions in F# return a value even if the main reason for calling the function is a side effect.
Save and close the file and then compile this file:
fsc -o hello.exe hello.fs
Now you can run
hello.exe to produce the expected output.
F# Interactive Environment
Open a command-line console (hit the "Start" button, click on the "Run" icon and type
cmd and hit ENTER).
fsi and hit ENTER. You will see the interactive console:
Microsoft F# Interactive, (c) Microsoft Corporation, All Rights Reserved F# Version 184.108.40.206, compiling for .NET Framework Version v2.0.50727 Please send bug reports to email@example.com For help type #help;; >
We can try some basic F# variable assignment (and some basic maths).
> let x = 5;; val x : int > let y = 20;; val y : int > y + x;; val it : int = 25
Finally we quit out of the interactive environment
Adding to the PATH Environment Variable
- Go to the Control Panel and choose System.
- The System Properties dialog will appear. Select the Advanced tab and click the "Environment Variables...".
- In the System Variables section, select the Path variable from the list and click the "Edit..." button.
- In the Edit System Variable text box append a semicolon (;) followed by the executable path (e.g.
- Click on the "OK" button
- Click on the "OK" button
- Click on the "Apply" button
Now any command-line console will check in this location when you type
Mac OSX, Linux and UNIX
Installing interpreter and compiler
The F# Software Foundation give latest instructions on getting started with F# on Linux and Mac. Once built and/or installed, you can use the "fsharpi" command to use the command-line interpreter, and "fsharpc" for the command-line compiler.
The F# Software Foundation also give instructions for installing the Monodevelop support for F#. This comes with project build system, code completion, and syntax highlighting support.