The F# project-product duality

The F# language is kind of wierd (in a good way). Born out of Microsoft Research and initially sold to the world by Microsoft as a part of Visual Studio, it now has a vibrant open source community and ecosystem around it. This puts it in a funny place. A great way to illustrate that is to visit the following links: F# homepage on the Microsoft .NET site Homepage for F# and the F# Software Foundation The first link a page on the Microsoft marketing site for .
Read full post

Cross-platform F# scripting

I love using Visual Studio Code (VSCode) as my main editor whenever I can, and because I’m an F# developer, I get to use the amazing Ionide plugin . But to get specific, the main thing I use F# and VSCode for is F# scripting. F# scripts are the best tool for doing ad-hoc computing work, such as: Trying out a library Writing a utility to process some stuff, like transforming markdown files Testing out someone’s code when they’re asking for help in the F# Slack , F# Forums , or pretty much anywhere Etc.
Read full post

How to make an F# code fixer

Note: this post does not apply to Jetbrains Rider. Rider uses its own engine for representing F# syntax expressions and has its own strongly-typed API for traversing and manipulating F# expressions. F# tooling in Visual Studio and Visual Studio Code supports a variety quick fixes for fixing an error in your code. Here’s an example of one: Wrap Expression in Parentheses Quick Fix Pretty neat, right? This post will walk through the essentials of implementing a quick fix like this in either Visual Studio or VSCode.
Read full post

5 years at Microsoft

As of the time of writing (2020-06-06), I will have been employed at Microsoft for 5 years. I joined the .NET team when I was 24 years old. Now at 29, I’m still here and thoroughly enjoying it. It’s been a great time overall. I’ve learned so much more than I ever would have imagined, met so many wonderful people, and helped make some things that people enjoy. Here’s what I remember the most in those years.
Read full post

How to use F# and BenchmarkDotNet

Every once in a while, you’ll want to compare to performance of two or more routines, algorithms, types, etc. This is called benchmarking and it’s a lot of fun to do in F#. Here’s how you do it. How to install BenchmarkDotNet First, make sure you’ve got the latest .NET SDK . Then create a new console app: dotnet new console -lang F# -o BasicExperiment Navigate to the BasicExperiment directory and add the package:
Read full post