Is it possible to develop f# using Visual Studio Express 2015 for Desktop? - f#

I have been doing some programming in VB.NET on Visual Studio Express 2015 for Desktop. I recently started looking into F# and like the functional paradigm. As a result I have been trying to find a way to use VSE2015 as my IDE for F#. However, I have hit some problems. First of all, it has been difficult to find out if it is officially supported. The .NET blog suggests that it is (at least version 3.1.1, and the announcement for 4.0 RTM does not mention otherwise), but when I try to install F# Tools (4.0) it seems to choke on some components called VWD and WD(?). 3.1.1 seems to install OK, but then I still can't open any F# projects (fsproj). When I try to install FSharpVSPowerTools, it tells me that my platform is not supported.
Am I trying to do something that is not possible? Have I missed some steps? Any pointers would be appreciated. Thanks.
(Incidentally, I can't use the Community edition because of the licensing restrictions)
Edit: I have tried VS Code, but it works differently from VSE, and I would have to do a whole more learning. In addition, I want to use the VS template for creating XLL's. Edit 2: it has been pointed out that you can reference excel-dna in VS Code, but setting it up is not as straightforward as in VSE2015 (at least for VB.NET and C#.NET.

Related

Standalone F# installer

I know this question has been asked before, but none of the answers help me in any sort.
I would like to know a way of installing F# on a computer that has no internet connection (visual studio is already installed on the target computer, but only C# components). Do you know if it's doable ?
Thanks!
If you only need to support .NET Core, then you get everything F#-related just be requiring .NET Core with your Visual Studio installation. This includes the compiler, FSI, and templates. The only thing you'll have missing is the old-style F# templates that don't use the .NET SDK.

Is F# in general and the F# plugin for MonoDevelop maintained for Linux?

I would like to play around with F# on my Linux box, but I struggle to find up-to-date versions of the relevant files. The F# cross-platform packages are from 2010 and the plug-in seems to be for Monodevelop 2.4 (I have 2.8 installed, which is not the newest anyway...). Is the project still alive? Am I looking at the right place?
F# cross-platform package is pretty outdated. Depending on which Linux distro you're using, F# may be distributed with Mono 2.10.x (check Mono homepage for details). Otherwise, you should build F# compiler from source for latest version.
The original F# binding does not work with MonoDevelop 2.8. Fortunately, the F# binding is being actively developed by Scott Stephens under a Google Summer of Code project. There are first positive sights as being mentioned here. For discussion, you can post on F# Open Source Community Group or ask questions here.
The F# addin for Monodevelop is still developed as of 2014 and is available from addins.monodevelop.com.

Metro style Apps with F#?

In the Build 2011 keynote and demos, they were always talking about C++, C#, Visual Basic and JavaScript. Can't I build Metro style Apps with F#? Or is it safe to say that if it works with C#, then it works with F# as well?
Or is it eligible to say if it works with C# then it works with F# as well?
Yes, that's how it is supposed to work. In addition to javascript and C/C++, any CLS compliant language that runs on top of the CLR will have access to the WinRT API.
Unfortunately in the VS 2011 Express edition you don't get tooling support but I guess this will be added progressively or to other editions:
Don talks about this a little around 7:40 into his talk.
http://channel9.msdn.com/Events/BUILD/BUILD2011/SAC-904T
I had the same question and created a blog post: Create a Metro App in F# (NOT)
There are a few issues:
You cannot reference ordinary .NET dll’s (even in C#). They have to
be have recompiled with a “reference” to the WinRT. Because of this
you cannot reference the F# dll. I think this will be solved when F#
3.0 get released (source: Understanding F# slide from Don Syme at
build).
The ability from F# to create Metro apps. This has to be
built by the F# team. This is an open question. This is the all-F#
approach (In WPF it is today possible but not recommended).
Tool support for creation Metro front-end projects. This will be not the case for the
F# 3.0 release. (source: Understanding F# slide from Don Syme at
build).
Using Visual Studio 11 Developer Preview (Full, not Express), I was able to reference and run F# code from a C# Metro style application with the following caveats:
You will get a build warning saying that the project can't be referenced, even though Visual Studio will still allow you to add it.
You must remove all references to all DLL's in the F# project, including FSharp.Core.
By following these steps it is possible to run F# code from a C# Metro style application, but it is nearly impossible to write any useful code in F# without references to the core language libraries. Let's hope they update the libraries to be WinRT compatible soon.
The question has been answered here:
Windows 8 and F#
Although you cannot create and design Metro apps directly in F#, you can still create so called Portable library in F# with all Models and ViewModels and use it in another Metro projects. It's not ideal, but it works.
I ported my stock chart library for .NET3.5-4.0 to Portable library,it works quite well on Metro with C# Metro application and some my Metro UI bridge.
I'm convinced that I can use F# to make Metro application in many parts.

F# on/in SharpDevelop?

Is there an F# compiler (plugin?) for SharpDevelop? I use SharpDevelop on my netbook for hobby development and it would be cool to program in f# on it.
If you install the F# compiler, SharpDevelop 3.0 automatically supports it. (Oh well. At least people will get a good answer now.)
On Windows, I settled on Visual Studio Shell and the May F# CTP.
There's a rather old (Aug 2008) F# Plugin for MonoDevelop. Read more on its Wiki page.
For the F# compiler, download the xip file from the F# May 2009 CTP page. there are certain known issues with running it on Mono, just search for "F# Mono" for more info.
Now Visual Studio 2010 supports F#. However, that doesn't include the Express editions, so if you're looking for F# IDEs for free, then there's a MonoDevelop plugin (which needs v2.6 IIRC), you can install Visual Studio Shell Integrated and add FSharp to that, or SharpDevelop.
Of these, I'd probably recommend the Visual Studio Shell over the others as it seems to have the best integration between the editor window and the F# Console window. However, if you're interested in doing things cross-platform, then look at MonoDevelop, as you can make sure that something will work on Mono.

Are there any good F# text editors?

Are there any good text editors for F#?
Instead of firing up resource-intensive Visual Studio, I would like to know if there are any text editors that can pretty-format F# code.
I am just getting started with F# and learning through FSI.exe with Notepad is giving me so much trouble...
Check this out:
F# Without Visual Studio
Not to be too much of a tease, but looking ahead, VS2010 uses a new rehostable editor component, you can hear some about it here: Hanselminutes Podcast 147 - The new WPF-based Text Editor in Visual Studio 2010 - Interview with a Dev
Anyway, this means that the F# editing experience in VS can, in theory, be completely decoupled from VS and hosted in a lightweight editor. Which means it's possible F# could ship a sample or something that's 'the VS editing experience' (tooltips, squiggles, intellisense, ...) without VS.
To be clear, we on the F# team don't yet have any concrete plans to ship such a thing, but the new internal factoring of VS and the editor and MEF and whatnot should make this easy to do (we've prototyped it over a weekend, and it mostly works). So hopefully look forward to cool things in the future.
Two other options:
SharpDevelop with F# plugin from Robert Pickering.
Visual Studio 2008 Shell with F# CTP
Any editor which will handle OCaml should handle F# -okay-. Mostly you just needs tabs. I'd recommend KomodoEdit, personally.
For notepad ++ someone made a file and put it up on the wiki:
http://notepad-plus.sourceforge.net/commun/userDefinedLang/userDefineLang_Fsharp.xml
One other option:
xacc.ide, a small ide that supports a bunch of .NET languages. But frankly, I haven't use it for a while since I'm really happy with Visual Studio 2008 (IntelliSense, interactive syntax checking, fsi, etc...).
You can setup Sublime Text 2 to work with F# as described here http://blog.kulman.sk/using-sublime-text-2-as-f-repl/
You can use Ionide package to integrate with Visual Studio Code (VS Code) or Atom editors.
Here is an article "F# Support in Visual Studio Code with Ionide"

Resources