A comprehensive and in-depth guide to writing functional programs using F# About This Book * Learn how to manage, run, and automate your servers using Puppet * Explore how to use F# to develop large-scale applications quickly and simply, and become more productive in today's age of cloud computing and multi-core programming * This easy-to-follow guide is packed with real-world examples that will jump-start you with F# development on the .NET platform Who This Book Is For If you are a C# developer with a basic knowledge of F# and want to explore the functional programming paradigm further to master your F# skills, then this book is for you. What You Will Learn * Understand the basics of F# and organize F# source code with Visual Studio * Work with F# data structures and create functional data structures in F# Interop with C# * Build and use asynchronous programming patterns with F# * Create and use type providers that help perform data analysis from within Visual Studio * Develop applications with pure F# code in WPF or ASP.N ET MVC * Find out how to perform distributed programming with ServiceBus or ZeroMQ * Visualize data with charts, and work with Excel and R language Type providers In Detail F# is a multi-paradigm programming language that encompasses object-oriented, imperative, and functional programming language properties. F# is 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 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.