With the latest news of the release of Visual Studio 2015 some folks may not have realized but included in it is the newest release of F# 4.0. The .NET Blog has also officially announced the RTM. The most exciting thing about this release of F# is that, since F# has been open source for quite some time now, most of the fixes and updates were made by the F# community.

What exactly is different in the new version of F# is very nicely highlighted in the below video by Lincoln Atkinson.

F# 4.0 Quick Picks

However, there are quite a few other new features. Let’s take a quick look at a few of the ones I’m excited about.

Script Debugging

I’m sure I’m like most of the folks who mess with F# that they do a lot of their work with F# scripts and the F# Interactive, however before F# 4.0 there was no way to debug your scripts. Now we get the best of continuing to use scripts and being able to debug them!

F# Debugging

Normalized Modules

As Lincoln mentioned in the above video, all functions are now normalized across List, Seq, and Array collections. This means that you can access the same functions among each of these collections where as in F# 3.1 that wasn’t always the case.

Slicing Syntax in Lists

In F# 4.0 we can now use the syntax similar to the below for slicing in Lists instead of converting to an Array to slice then convert back to a List.

let l = [1..5] // val l : int list = [1; 2; 3; 4; 5]

l.[0..] // val it : int list = [2; 3; 4; 5]
l.[..4] // val it : int list = [1; 2; 3; 4; 5]

Those are just some of the more interesting, and probably some of the most beneficial, changes made to the language. The folks over at the .NET Blog also made a nice summary of all the big changes.

Wonder what F# and Wintellect can do for you or your business, or just have more questions about F# in general? Feel free to reach out to us!