What this book covers
Chapter 1, Getting Started with F#, explains how to get started with F# with Visual Studio. A Simple hello world program is created and details about the project structure and file ordering and the differences between F# and C# in terms of usage are discussed.
Chapter 2, Functional Core with F#, teaches you about the functional core of F#, such as data types, type declarations, immutability, strong type interference, pattern matching, records, F# data structures, sequence expressions, lazy evaluation, making side effects explicit, and so on.
Chapter 3, Data Structures in F#, helps you understand how to use the available data structures in F# and write some basic custom data structures.
Chapter 4, Imperative Programming in F#, teaches you how to use control structures, more idiomatic .NET with F#, and interfacing with C# and generics.
Chapter 5, Asynchronous Programming, goes through the asynchronous programming model in F#, with a bit of cross-referencing or comparison drawn with the C# world.
Chapter 6, Type Providers, talks about some of the most common type providers, and additionally, also looks at the Query build that will help write LINQ-like queries for our custom collections.
Chapter 7, Web Programming in F#, teaches you how to build web servers using some of the most common .NET libraries as well as how you can write code for the browser in F# using WebSharper or Fable.
Chapter 8, Application Development in F#, explains how to write cross-platform desktop applications in F# using Fable and the Github Electron project.
Chapter 9, Testing in F#, teaches you how to write unit tests in F# with popular tools, and the advantages the language offers for this.
Chapter 10, Distributed Programming in F#, delves into using F# to implement the actor model popularized by Erlang, in order to write more robust software using decoupled actors that can run on different machines over a network and heal themselves in the eventuality of failure.