Cover of F# in Action

F# in Action

Isaac Abraham, 2024

F# is engineered to make functional programming practical and accessible. This book will get you started writing your first simple, robust, and high performing functional code.

F# lets you keep your code simple even in the most complex applications—and it’s the perfect language for taking your first steps in functional programming. This practical, example-driven guide shows you how to build professional applications the F# way.

In F# in Action you will learn how to:

  • Write performant and robust systems with succinct F# code
  • Model domains quickly, easily and accurately with F#’s type system
  • Design solutions using functional programming patterns
  • Ingest and process disparate data sources
  • Develop data-driven web applications
  • Unit test F# code
  • Effectively model data using a variety of techniques
  • Use scripts to rapidly explore domains

F# in Action is based on author and Microsoft F# MVP Isaac Abraham’s years of experience working with developers as an F# consultant. It upgrades .NET development skills with the core principles of functional programming, and you’ll soon see how F#’s functional-first approach makes it easy to learn this powerful paradigm.

Cover of Essential F#

Essential F#

Ian Russell, 2023

This is a practical book aimed at efficiently getting you up to speed with the essentials functional-first programming in F#.

Everywhere you look, programming languages are gaining functional features. The problem is that it’s not the individual features that make functional programmers happy, it’s the way that your approach to writing software and the features work together to help you write simple code to solve interesting problems. This book will help you to discover why F# is such a popular language with those who have spent time learning its secrets.

This book started life as a series of blog posts on my Company’s website (https://www.softwarepark.cc/blog). The sum of the content is what a developer needs to know to be able to work on one of our F# Line of Business codebases. I have improved and extended the content, upgraded the code to F# 5 and ensured that the code will run in VS Code.

Cover of Stylish F# 6

Stylish F# 6

Kit Eason, 2022

Why just get by in F# when you can program in style. This book goes beyond syntax and into design. It provides F# developers with best practices, guidance, and advice to write beautiful, maintainable, and correct code. This second edition, fully updated for .NET 6 and F# 6, includes all new coverage of anonymous records, the task {} computation expression, and the relationship between types and modules.

Stylish F# 6 covers every design decision that a developer makes in constructing F# programs, helping you make the most educated and valuable design choices at every stage of code development. You will learn about the design of types and function signatures, the benefits of immutability, and the uses of partial function application. You will understand best practices for writing APIs to be used by F#, C#, and other languages. Each carefully vetted design choice is supported with compelling examples, illustrations, and rationales.

What You Will Learn

  • Know why, when, and how to code in immutable style
  • Use collection functions, piping, and function composition to build working software quickly
  • Be aware of the techniques available to bring error handling into the mainstream of program logic
  • Optimize F# code for maximum performance
  • Identify and implement opportunities to use function injection to improve program design
  • Appreciate the methods available to handle unknown data values
  • Understand asynchronous and parallel programming in F#, and how it differs from C# asynchronous programming
  • Exploit records and anonymous records as low-overhead, easily comparable containers for structured data
Cover of Domain Modeling Made Functional

Domain Modeling Made Functional

Scott Wlaschin, 2022

You want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. In this pragmatic, down-to-earth guide, you’ll see how applying the core principles of functional programming can result in software designs that model real-world requirements both elegantly and concisely—often more so than an object-oriented approach. Practical examples in the open-source F# functional language, and examples from familiar business domains, show you how to apply these techniques to build software that is business-focused, flexible, and high quality.

Domain-driven design is a well-established approach to designing software that ensures that domain experts and developers work together effectively to create high-quality software. This book is the first to combine DDD with techniques from statically typed functional programming. This book is perfect for newcomers to DDD or functional programming—all the techniques you need will be introduced and explained.

Model a complex domain accurately using the F# type system, creating compilable code that is also readable documentation—ensuring that the code and design never get out of sync. Encode business rules in the design so that you have “compile-time unit tests,” and eliminate many potential bugs by making illegal states unrepresentable. Assemble a series of small, testable functions into a complete use case, and compose these individual scenarios into a large-scale design. Discover why the combination of functional programming and DDD leads naturally to service-oriented and hexagonal architectures. Finally, create a functional domain model that works with traditional databases, NoSQL, and event stores, and safely expose your domain via a website or API.

Solve real problems by focusing on real-world requirements for your software.

Cover of F# ile Fonksiyonel Programlama (Türkçe/Turkish)

F# ile Fonksiyonel Programlama (Türkçe/Turkish)

Ali Özgür, 2021

This book is the first and the only F# book in Turkish. The book covers F# and general functional programming principles.

F#, aktif ve bağımsız geliştirici topluluğu tarafından yön verilen, özellikle bulut teknolojileri, veri analizi ve bilimsel çalışmalarda kullanımı her geçen gün artan sade ve şık bir programlama dilidir. F# ile Microsoft’un .NET platformu üzerinde Windows, Linux ve OSX işletim sistemlerinde çalışabilen her çapta ve özllikte uygulamalar geliştirebilirsiniz. Hatta sistem yönetimi scriptlerinizi bile F# ile oluşturabilirsiniz. F# ile Fonksiyonel Programlama kitabında F#’ın sunduğu tüm bu imkanlar ile sizi tanıştırmayı ve bol kod örnekleri ile F#’ı özümsemenizi hedefliyoruz.

Cover of Multi-Paradigm Programming Using F# and .NET

Multi-Paradigm Programming Using F# and .NET

Ali Baghernejad, 2019

F# is the result of combining the power and capabilities of functional programming with with the imperative and object-oriented paradigms of .NET. Multi-Paradigm Programming In F# is a book that help developers to make applications using F# tools and the .NET libraries. This book is written in Persian language in 509 pages. In this book you will read:

  • Introduction to F# (History and Advantages)
  • Get Statring With F# (Installation, Interactive Environment, …)
  • F# Fundementals (Values, Primitive Types, Functions, Type Inference, Generic, …)
  • Advance Types (Lists, Tuples, Enums, Discriminated Union, Unit of Measures, …)
  • Functional Programming (Expressions, Imutability, Function Values, Pattern Matching, Piping, …)
  • Imperative Programming (Statements, Mutable Values, Side Effects, Arrays, Resource Management, …)
  • Object Oriented Programming (Objects, Classes, Inheritance, Abstraction, Polymorphism, …)
  • Error Handling (Exceptions, Exception Types, Throwing and Catching Exceptions, …)
  • Databases (Sql Server, Query Expressions, Type Providers, …)
  • User Interfaces (Windows Forms, WPF, GTK#)
Cover of F# Applied II

F# Applied II

Tamizhvendan S, 2018

“F# Applied II” helps you to learn how to build a real-world, production-ready, end-to-end web application in F# using the functional programming principles by developing a Twitter clone from scratch.

In this book you will learn:

  • The Application of functional programming principles in a real-world application
  • Server-Side Rendering in Suave using DotLiquid
  • Authentication and Authorisation in Suave
  • Application Logging using Logary
  • Error handling in asynchronous operations using Chessie.
  • Database access using SQLProvider
  • Database schema management using Fluent Migrator
  • Realtime Tweet Feeds and Notifications using GetStream.io
Cover of Programming Language Concepts

Programming Language Concepts

Peter Sestoft, 2017

The book Programming Language Concepts (PLC) provides an introduction to programming language concepts and implementation technology, such as interpretation, compilation, type checking and type inference, abstract machines, and garbage collection. F# is used as a meta language throughout the book expressing all concepts and examples of programming language design in a modern strongly-typed language of the ML-family, enabling the reader to experiment with the ideas right away.

Cover of Learning Functional Programming with F#: Get started on building end-to-end web applications with F#

Learning Functional Programming with F#: Get started on building end-to-end web applications with F#

Onur Gumus, 2017

Build end-to-end web applications with F# Develop web applications that includes server-side as well as the client-side programming using Fable, F# to JavaScript compiler.

  • Learn F# with this learner-friendly approach in this course
  • This single course covers all the basics so you can start building powerful applications
  • Get familiar with all the top modules and components included in this course
Cover of Building F# Applications (Video)

Building F# Applications (Video)

Richard Broida, 2017

Learn how to use F#’s functional features to rapidly turn requirements into software designs that are correct, complete, extensible, bug-free, and easy to read and understand.

  • Setup your IDE for F# development
  • Use F#-friendly tools for test automation, builds, and dependency management
  • Model your application’s problem domain using F#’s immutable data types and collections
  • Build simple-to-complex application behavior with F# functions
  • Interoperate between your F# applications and other .NET languages
Cover of F# High Performance

F# High Performance

Eriawan Kusumawardhono, 2017

This easy-to-follow guide is full of hands-on examples of real-world multithreading tasks. Each topic is explained and placed in context, and for the more inquisitive, there are also more in-depth details of the concepts used.

In this book you will:

  • Understand how the execution of functions in F# works
  • Identify common performance bottlenecks
  • Implement best practices to optimize performance
  • Use the available tooling to help measure performance
  • Combine the best practice of asynchronous and synchronous
  • Optimize further using various F# language constructs
Cover of Mastering F#

Mastering F#

Alfonso García-Caro Núñez & Suhaib Fahad, 2016

This easy-to-follow guide with syntaxes will help you master the concepts of F#. Packed with in-depth examples of real-world uses, this book covers each topic in detail with a reference to C#, so you will understand the difference between the languages.

In this book you will:

  • 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# interoperate 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.NET 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
Cover of F# For Machine Learning Essentials

F# For Machine Learning Essentials

Sudipta Mukherjee, 2016

The F# functional programming language enables developers to write simple code to solve complex problems. With F#, developers create consistent and predictable programs that are easier to test and reuse, simpler to parallelize, and are less prone to bugs. If you want to learn how to use F# to build machine learning systems, then this is the book you want. Starting with an introduction to the several categories on machine learning, you will quickly learn to implement time-tested, supervised learning algorithms. You will gradually move on to solving problems on predicting housing pricing using Regression Analysis. You will then learn to use Accord.NET to implement SVM techniques and clustering.

You will also learn to build a recommender system for your e-commerce site from scratch. Finally, you will dive into advanced topics such as implementing neural network algorithms while performing sentiment analysis on your data.

Who is this book for?

If you are a C# or an F# developer who now wants to explore the area of machine learning, then this book is for you. Familiarity with theoretical concepts and notation of mathematics and statistics would be an added advantage.

What you will learn

Use F# to find patterns through raw data Build a set of classification systems using Accord.NET, Weka, and F# Run machine learning jobs on the Cloud with MBrace Perform mathematical operations on matrices and vectors using Math.NET Use a recommender system for your own problem domain Identify tourist spots across the globe using inputs from the user with decision tree algorithms.

Key benefits

Design algorithms in F# to tackle complex computing problems Be a proficient F# data scientist using this simple-to-follow guide Solve real-world, data-related problems with robust statistical models, built for a range of datasets

Cover of F# Applied

F# Applied

Tamizhvendan S, 2016

“F# Applied” is an excellent introduction to applied, modern programming for the web. Starting with Suave, the F# server-side web framework, this book will teach you how to create complete applications using Functional-First Programming with F# In this book you will read:

  • How to create complete application using Functional Programming Principles using F#
  • An in-depth understanding of Web development in F# using Suave
  • How to develop applications using EventSourcing, CQRS, and DDD in F#
  • How to set up continuous integration and continuous deployment using FAKE and Docker
  • How to leverage libraries like Rx, FSharp.Data and Paket
Cover of F# 4.0 Design Patterns

F# 4.0 Design Patterns

Gene Belitski, 2016

This book will encourage enterprise developers coming to F# from other platforms to cultivate an idiomatic F# coding skillset by fully embracing the functional-first F# paradigm.

In this book you will:

  • Acquire the practical knowledge to use the main functional design patterns
  • Realign some imperative and object-oriented principles under the functional approach
  • Develop your confidence in building and combining first-order and higher-order functions
  • Learn to use core language pattern matching effectively
  • Make use of native F# algebraic data types in place of custom-built classes
  • Recognize and measure the difference in resource consumption between sequences and materialized data collections
  • Navigate and use F# Core libraries with ease by seeing patterns behind specific library functions
  • Master writing generic polymorphic code
Cover of Beginning F# 4.0

Beginning F# 4.0

Robert Pickering, Kit Eason, 2016

This book is a great foundation for exploring functional-first programming and its role in the future of application development. The best-selling introduction to F#, now thoroughly updated to version 4.0, will help you learn the language and explore its new features.

Cover of Machine Learning Projects for .NET Developers

Machine Learning Projects for .NET Developers

Mathias Brandewinder, 2015

Machine Learning Projects for .NET Developers shows you how to build smarter .NET applications that learn from data, using simple algorithms and techniques that can be applied to a wide range of real-world problems.

Cover of Expert F# 4.0

Expert F# 4.0

Don Syme, Adam Granicz, Antonio Cisternino, 2015

Expert F# 4.0 is about practical programming in a beautiful language that puts the power and elegance of data-rich functional programming into the hands of professional developers. In combination with .NET, F# achieves unrivaled levels of programmer productivity and program clarity.

  • A comprehensive guide to F# by the inventor of F#
  • A treasury of F# techniques for practical problem-solving
  • An in-depth case book of how F# applications and of F# 4.0 concepts, syntax, and features

The world’s experts in F# show you how to program in F# the way they do!

Cover of The Book of F#

The Book of F#

Dave Fancher, 2014

The Book of F# aims to introduce intermediate and experienced developers to functional-first programming with F#. Throughout the book, you’ll learn how this robust language can help you focus on creating correct solutions by introducing a variety of important concepts including currying, partial application, pattern matching, units of measure, asynchronous workflows, query expressions, type providers, and computation expressions. Furthermore, you’ll discover how F#’s rich object-oriented capabilities allow it to naturally fit into existing applications.

Cover of F# Deep Dives

F# Deep Dives

Edited by Tomas Petricek and Phillip Trelford, 2014

F# Deep Dives presents a collection of real-world F# techniques, each written by expert practitioners. Each chapter presents a new use case where you’ll read how the author used F# to solve a complex problem more effectively than would have been possible using a traditional approach. You’ll not only see how a specific solution works in a specific domain, you’ll also learn how F# developers approach problems, what concepts they use to solve them, and how they integrate F# into existing systems and environments.

Cover of Functional Programming Using F#

Functional Programming Using F#

Michael R. Hansen, Hans Rischel, 2013

This comprehensive introduction to the principles of functional programming using F# shows how to apply basic theoretical concepts to produce succinct and elegant programs. It demonstrates the role of functional programming in a wide spectrum of applications including databases and systems. Coverage also includes advanced features in the .NET library, the imperative features of F# and topics such as text processing, sequences, computation expressions and asynchronous computation. With a broad spectrum of examples and exercises, the book is perfect for courses in functional programming and for self-study. Enhancing its use as a text is an accompanying website with downloadable programs, lecture slides, a mini-projects and links to further F# sources.

Cover of F# for Quantitative Finance

F# for Quantitative Finance

Johan Astborg, 2013

This book will cover everything you need to know about using functional programming for quantitative finance. Using a functional programming language will enable you to concentrate more on the problem itself rather than implementation details. Tutorials and snippets are summarized into an automated trading system throughout the book.

In this book you will:

  • Use Visual Studio as your main tool for writing F#
  • Utilize F# to aggregate data and calculate statistics
  • Plot and visualize data in F#
  • Learn about volatility, delta hedging, and volatility arbitrage
  • Understand basic numerical analysis and algorithm implementation
  • Model orders and market data together with basic pre-trade risk
  • Structure and write object-oriented code
  • Develop larger programs using F#
  • Explore automated trading systems and quantitative trading models
Cover of Real World Functional Programming

Real World Functional Programming

Tomas Petricek with Jon Skeet, 2010

Real World Functional Programming is a unique tutorial that explores the functional programming model through the F# and C# languages. The clearly presented ideas and examples teach readers how functional programming differs from other approaches. It explains how ideas look in F#-a functional language-as well as how they can be successfully used to solve programming problems in C#.

Cover of F# for Scientists

F# for Scientists

Jon Harrop, 2008

F# for Scientists explains and demonstrates the powerful features of this important new programming language. The book assumes no prior experience and guides the reader from the basics of computer programming to the implementation of state-of-the-art algorithms. Written in a clear and concise style, F# for Scientists is well suited for researchers, scientists. It also serves as an ideal supplemental text for advanced undergraduate and graduate students with a background in science or engineering.