F# 10
devblogs.microsoft.com
devblogs.microsoft.com
Edit: oh this post is from November! That's why I thought I'd read about those computations before.
What I like most about it is the type system (discriminated unions, etc.). It's really powerful and intuitive, without letting me go overboard "big braining" the perfect type for every situation like I tend to do with e.g. typescript or haskell. F# is also great because we can access the full dotnet runtime and nuget ecosystem. I have several projects where I mix C# and F#, and they're perfectly compatible.
That being said, F# wasn’t really for me and applying the ideas from the book into other languages has been a better fit for me.
I’ve always wondered whether tighter integration with C# would have led to broader adoption, though that might have changed the character of the language.
Task expressions look neat though, and might give me a reason to try.
Check it out yourself.
“Can the F# ecosystem survive losing the support of Microsoft?” Is not the kind of question that can be answered by looking at a GitHub repo.
The purpose of this website is conversion, particularly with experts. Asking a question shouldn’t be met with pithy links that don’t answer the question.
F# has been a first-class language in .NET for at least 15 years and has lived on under Ballmer and Satya. It seems to serve as a useful R&D program for both the runtime's capabilities and for features that may go into C#, which will be the premiere language barring a cataclysm. I don't think it's quite as precarious as it might seem on the surface.
The real risk would be not dropping it up but instead giving a slow death by drip feeding support or somehow filling it with ads.
I use the 'code-first approach' most the time which really leans into the performance improvements. I can write C# data models that automatically update the database schemas on the SQL side. This is obviously possible in other languages/runtimes, .NET just feels quicker to me once you get it all down and gives you more ways to solve problems than most other languages.
I am one of the happy few who has had paying work with F# when I worked at Jet and Walmart. I came in with primarily a Haskell background, and so I was expecting to hate it because I hate most things that Microsoft has attached its name to, but I ended up really liking it.
Just a note, while its syntax is similar to OCaml, its semantics are a bit different. You don't have the cool OCaml functors in the same way, but you do have Haskell-style "do" notation with monads, which is nice.
I haven't used OCaml in awhile so I can't go into a lot of detail on the differences between them, but the only things I really missed from Haskell are monad transformers and software transactional memory.
I definitely think it's worth playing with for an afternoon.