Book Image

Mastering F#

By : Alfonso García-Caro Núñez, Suhaib Fahad
Book Image

Mastering F#

By: Alfonso García-Caro Núñez, Suhaib Fahad

Overview of this book

F# is a multi-paradigm programming language that encompasses object-oriented, imperative, and functional programming language properties. Now adopted in a wide range of application areas and is supported both by industry-leading companies who provide professional tools and by an active open community, F# is rapidly gaining popularity as it emerges in digital music advertising, creating music-focused ads for Spotify, Pandora, Shazam, and anywhere on the web. This book will guide you through the basics and will then help you master F#. The book starts by explaining how to use F# with Visual Studio, file ordering, and the differences between F# and C# in terms of usage. It moves on to explain the functional core of F# such as data types, type declarations, immutability, strong type interference, pattern matching, records, F# data structures, sequence expressions, and lazy evaluation. Next, the book takes you through imperative and asynchronous programming, F# type providers, applications, and testing in F#. Finally, we look into using F# with distributed programming and using F# as a suitable language for data science. In short, this book will help you learn F# for real-world applications and increase your productivity with functional programming.
Table of Contents (16 chapters)

Data analysis with type providers


The World Bank is an international organization that provides financial and technical assistance to developing countries around the world. The World Bank provides data indicators and other data about countries around the world. There are about 8,000 indicators that can be accessed in the World Bank database. We will use this data to do some analytics/charting.

The World Bank data can be accessed via a type provider available specifically for the World Bank in the FSharp.Data library (this is available via NuGet, a repository for .NET libraries). We will then use the FSharp.Charting library to visualize the data in a chart and see some indicators.

Note

NuGet libraries can be accessed either by the NuGet tool itself (https://www.nuget.org/) or Paket, another package manager with very good integration and the most used F# development tools (https://fsprojects.github.io/Paket/).

Prerequisites

We will set up our F# script file by referencing the FSharp.Data and FSharp...