This article will go over the basics of the .NET compiler platform feature for analyzing the C# syntax tree, using F#. .NET provides a Syntax API that can read any C# or Visual Basic source file and provide the corresponding Syntax Tree for that code. Why Why would someone need to traverse the C# syntax tree? Well, it can be for a number of reasons, maybe you want to gather statistics about how many classes, namespaces and methods you have, maybe you want generate code based on what is already written, maybe you want to create new tools like a new linter or a tool like Swagger.
I recently gave an internal talk at my work about the similarities of F# compared to JS. It was generally well received, and I would like to convert that talk into a blog post for others who may be interested. This is by no means an exhaustive list of features in F#, but the point of this post is to show familiar JS code and how it can be written equivalently in F#, because I believe showing examples like this is the best way of learning a new language and has a better chance of adoption.