F Sharp Programming/Getting Set Up
F# : Getting Set Up |
Windows
[edit | edit source]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.
Setup Procedure
[edit | edit source]F# is included with Visual Studio 2019. Alternatively, users can download Visual Studio Express or Community for free, which will provide an F# pioneer with everything one 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.
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 2019 the easiest way to get going is to install Visual Studio 2019 for Web at [1] (even if you want to do desktop solution). You can then select F# language support from within the installer. Once this is done you can create F# projects. Search Nuget for additional F# project types.
Testing the Install
[edit | edit source]Hello World executable
[edit | edit source]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
[edit | edit source]Open a command-line console (hit the "Start" button, click on the "Run" icon and type cmd
and hit ENTER).
Type fsi
and hit ENTER. You will see the interactive console:
Microsoft F# Interactive, (c) Microsoft Corporation, All Rights Reserved
F# Version 1.9.6.2, compiling for .NET Framework Version v2.0.50727
Please send bug reports to fsbugs@microsoft.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
> #quit;;
Misc.
[edit | edit source]Adding to the PATH Environment Variable
[edit | edit source]- 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.
;C:\fsharp\bin\
) - 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 fsc
or fsi
.
Mac OSX, Linux and UNIX
[edit | edit source]F# runs on Mac OSX, Linux and other Unix versions with the latest Mono. This is supported by the F# community group called the F# Software Foundation.
Installing interpreter and compiler
[edit | edit source]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.
MonoDevelop add-in
[edit | edit source]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.
Emacs mode and other editors
[edit | edit source]The F# Software Foundation also give instructions for using F# with other editors. An emacs mode for F# is also available on Github.
Xamarin Studio for Mac OSX and Windows
[edit | edit source]F# runs on Mac OSX and Windows with the latest Xamarin Studio. This is supported by Microsoft. Xamarin Studio is an IDE for developing cross-platform phone apps, but it runs on Mac OSX and implements F# with an interactive shell.