Skip to Main Content

Functional Programming in C#, Second Edition

Published by Manning
Distributed by Simon & Schuster

About The Book

Real world examples and practical techniques for functional programming in C# without the jargon and theory.

In Functional Programming in C#, Second Edition you will learn how to:

    Use higher-order functions to reduce duplication and do more with less code
    Use pure functions to write code that is easy to test and optimize
    Write pleasant APIs that accurately describe your program's behavior
    Use dedicated types to handle nullability, system errors, and validation rules predictably and elegantly
    Write composable code without the overhead of an IoC container

Functional Programming in C# has helped thousands of developers apply functional thinking to C# code. Its practical examples and spot-on treatment of FP concepts makes it the perfect guide for proficient C# programmers. This second edition is fully revised to cover new functional-inspired features in the most recent releases of C#, including tuples, async streams, pattern matching, and records. Each chapter is packed with awesome perspectives and epiphany moments on how functional programming can change the way you code.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the technology
Turbocharge your C# code. Good functional techniques will improve concurrency, state management, event handling, and maintainability of your software. This book gives you practical answers to why, how, and where to add functional programing into your C# coding practice.

About the book
Functional Programming in C#, Second Edition teaches functional thinking for real-world problems. It reviews the C# language features that allow you to program functionally and through many practical examples shows the power of function composition, data-driven programming, and immutable data structures. All code examples work with .NET 6 and C# 10.

What's inside

    Higher-order functions reduce duplication and do more with less code
    Code based on pure functions is easy to test and optimize
    Write pleasant APIs that accurately describe your program’s behavior
    Write a Web API in a functional style
    Monadic composition with LINQ

About the reader
For intermediate C# programmers.

About the author
Enrico Buonanno studied Computer Science at Columbia University and has over 15 years of experience as a developer, architect, and trainer.

Table of Contents
1 Introducing functional programming
2 Thinking in functions
3 Why function purity matters
4 Designing function signatures and types
5 Modeling the possible absence of data
6 Patterns in functional programming
7 Designing programs with function composition
8 Functional error handling
9 Structuring an application with functions
10 Working effectively with multi-argument functions
11 Representing state and change
12 A short introduction to functional data structures
13 Event sourcing: A functional approach to persistence
14 Lazy computations, continuations, and the beauty of monadic composition
15 Stateful programs and stateful computations
16 Working with asynchronous computations
17 Traversable and stacked monads
18 Data streams and the Reactive Extensions
19 An introduction to message-passing concurrency

About The Author

Product Details

  • Publisher: Manning (February 1, 2022)
  • Length: 448 pages
  • ISBN13: 9781617299827

Browse Related Books

Resources and Downloads

High Resolution Images

More books from this author: Enrico Buonanno