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)

Summary


In this chapter, we have reviewed some of the most common tools for web development with F#. We have briefly seen how web view controllers can be written using ASP.NET Web API 2, a framework designed by Microsoft for C#, but that can be easily adapted to F# thanks to its conciseness.

Then, you learned in more detail about Suave, a very popular web server in the F# community, that is specifically designed to make the most of the functional (such as expressiveness and composability) and asynchronous features of the language.

However, F# is not limited to the backend (server side). WebSharper gives you a full set of tools to write both your server and client code in F#, and takes advantage of the type safety the language provides. Also, Fable is a lightweight F# to JavaScript compiler that gives us more flexibility when we need to stay closer to the JavaScript ecosystem.

In the next chapter, we will learn more about Fable and how it can be used not only to write the frontend (client side...