SummaryFunctional Programming in C# teaches you to apply functional thinking to real-world
problems using the C# language. The book with its many practical examples is written for
proficient C# programmers with no prior FP experience. It will give you an awesome new
perspective.Purchase of the print book includes a free eBook in PDF Kindle and ePub formats
from Manning Publications.About the TechnologyFunctional programming changes the way you think
about code. For C# developers FP techniques can greatly improve state management concurrency
event handling and long-term code maintenance. And C# offers the flexibility that allows you
to benefit fully from the application of functional techniques. This book gives you the awesome
power of a new perspective.About the BookFunctional Programming in C# teaches you to apply
functional thinking to real-world problems using the C# language. You'll start by learning the
principles of functional programming and the language features that allow you to program
functionally. As you explore the many practical examples you'll learn the power of function
composition data flow programming immutable data structures and monadic composition with
LINQ.What's InsideWrite readable team-friendly codeMaster async and data streamsRadically
improve error handlingEvent sourcing and other FP patternsAbout the ReaderWritten for
proficient C# programmers with no prior FP experience.About the AuthorEnrico Buonanno studied
computer science at Columbia University and has 15 years of experience as a developer
architect and trainer.Table of ContentsPART 1 - CORE CONCEPTSIntroducing functional
programmingWhy function purity matters Designing function signatures and types Patterns in
functional programming Designing programs with function composition PART 2 - BECOMING
FUNCTIONALFunctional error handling Structuring an application with functions Working
effectively with multi-argument functions Thinking about data functionally Event sourcing: a
functional approach to persistence PART 3 - ADVANCED TECHNIQUESLazy computations continuations
and the beauty of monadic composition Stateful programs and stateful computations Working with
asynchronous computations Data streams and the Reactive Extensions An introduction to
message-passing concurrency