Given the state of F# in #develop, I decided that if I want to create a GUI F# program, I'm better off creating the GUI shell in C# and calling out to core logic in F# than trying to write all the GUI code by hand. (If that's all I wanted, I'd be using Vim.)
Nothing I have tried so far has given me any hope that this is doable in #develop today. Things I have tried so far:
- Searching these forums. The search engine doesn't seem to understand that '#' is a precious character here. I suspect it is giving me all posts containing the letter "F". :)
- Creating a C# WPF or Windows Forms project, then adding a .fs file to it. The .fs file doesn't seem to be compiled at all. (Evidence: nothing new appears in obj/Debug.) Attempting to blindly call functions defined in the F# module anyway result in CS0103 errors.
- Looking for an F# Library project, since that would presumably create a .NET assembly I could call from the C# code.
- Adding an F# project to an existing C# solution. Due to #3, all this does is create two independent .exe files. I failed in my attempts to call functions defined in one from the other.
- Xamarin Studio. :) Not exactly on topic here, but suffice to say, the state of their F# support is even worse.
I'm about ready to try "6. Buy Visual Studio Professional." I'm examining the field since I've used VC++ off and on in the past, and have mixed feelings about it. It wouldn't break my heart if I never used it again, but if that's what you have to use to be productive...
By the way, is the well-known F# SDK path problem going to be fixed? I saw a post from one of the #develop posters acknowledging it and implying that it won't be fixed without someone stepping up to own the abandoned F# piece, but it's just a string change, no? (FWIW, I used something like this fix, except that I used "mklink /d" instead of "junction".)