How to get F# working with Mono?

Viewed 22406

I can't seem to find a compiler/plugin for mono. Does one exist?

9 Answers
  1. Go here and download fsharp.zip
  2. Unzip it and open the created folder
  3. Open the terminal and run ./install-mono.sh as root (On some systems, it is necessary to convert the newline characters in that script from CRLF to LF)

This will give you the basic functionality which means you will be able to run "mono fsi.exe" and compiled F# apps as "mono myApp.exe".

Usefull tips:

  1. It makes sense to create scripts for the compiler and F# interactive. i.e.:

    /usr/local/bin/fsc

    #!/bin/sh exec /usr/bin/mono /usr/local/src/FSharp-1.9.9.9/bin/fsc.exe $@

    /usr/local/bin/fsi

    #!/bin/sh exec /usr/bin/mono /usr/local/src/FSharp-1.9.9.9/bin/fsi.exe $@

  2. F# interactive (fsi.exe) is trying to reference System.Windows.Forms by default so in order to run it WinForms support in Mono will be required

  3. fsi.exe works better in Xterm than in Gnome Terminal.

What Piotr Zurek said is basically what i did to get F# and mono to work on Ubuntu 9.04, with the following comments:

  1. Rember to install WinForm support with Mono. Otherwise you can't start fsi.exe.
  2. ./install-mono.sh should be run with root privileges (sudo ./install-mono.sh).
  3. Gnome Terminal dosn't play well with fsi.exe. Start a normal xterm and run fsi.exe whithin that.

In 2019, a lot of these earlier answers are outdated. No need for zip files or the like.

From Ubuntu 19.04 onwards, i.e. disco you can now install packages with:

sudo apt-get install mono-complete fsharp

That gives you the F-sharp compiler at /usr/bin/fsharpc

Alternatively, if you want the latest, you can add the Mono repository and pull packages from there, as detailed at:

https://www.mono-project.com/download/stable/#download-lin

Related