Hacker News new | ask | show | jobs
by Keats 3668 days ago
Is anyone using F# on Linux? How's the experience?
5 comments

I'm running it in prod since last year and from the runtime perspective there are no issues.

Tooling is what sucks. MonoDevelop F# support is very unreliable. Basic refactoring, like rename, don't work correctly every time and I had to literally do git reset few times, after renaming, as it screw up multiple files.

Also, editor often has visual glitches where letters get corrupted and I have to reopen the file to get it back to normal. Not something I expect from such a long time maintained application. However, it looks like Xamarin Studio 6.0 will be much better.

Alternative is Visual Studio Code with Ionide plugin, but I didn't use that beyond trying it once. Hopefully someone else can comment.

Edit: typos

Xamarin Studio and MonoDevelop are the same, what your probably seeing are the artefacts or using an old version of MonoDevelop
I'm using the latest stable release of MonoDevelop (5.10)
The latest if you pull from github is 6.1 (I think), using apt-get does not install the latest monodevelop.
Release notes [1] say: This is a preview of the upcoming Xamarin Studio 6.1 release.

Is it already released?

[1] https://developer.xamarin.com/releases/studio/xamarin.studio...

Yes, its already out. I had couple of hiccups while installing but was able to install it from Github.
After my experience, it run smoothly on Linux. I followed the guide at http://www.monodevelop.com/ to install mono, then F#; monodevelop is also a good IDE but personally I use spacemacs with F# layer.
We have several solutions developed in F# over the past year or so that run exclusively on Linux. Mono 4.x has made it an a viable choice for running in production, but the dev experience is still lacking. We develop mostly on Windows with F# power tools plugin. You can find our open-source stuff at https://github.com/Prolucid
It works, although from what I recall the installation wasn't that easy. I think I had to checkout a specific tagged commit instead of the newest master, because the latter had a broken build. Probably works now, it was years ago :)
This is all I need usually:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
    echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
    sudo apt-get install -y mono-complete fsharp monodevelop
The equivalent snippet for Fedora would be most welcome, too ;-)
Im using it on linux, its pretty good in my opinion, im still learning, but packet and stuff like that seems to work fine. Im using it with emacs, so i dont really know how you will fare with other editors.