Stylish F# : Crafting Elegant Functional Code for .NET and .NET Core 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. Stylish F# 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 Youll 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 This book is for any developer who writes F# code and wants to write it better. Kit Eason is a software developer and educator with more than 20 years of experience. He has been programming in F# since 2011 and is employed at Perpetuum Ltd. working on an extensive network of energy harvesting vibration sensors fitted to railway rolling stock. Kit is an avid F# user who is passionate about teaching others. He has contributed to several publications as well as to the books Beginning F# and F# Deep Dives both published by Apress Chapter 1: The Sense of Style Chapter 2: Designing Functions Using Types Chapter 3: Missing Data Chapter 4: Working Effectively with Collections Functions Chapter 5: Immutability and Mutation Chapter 6: Pattern Matching Chapter 7: Record Types Chapter 8: Classes Chapter 9: Programming With Functions Chapter 10: Asynchronous and Parallel Programming Chapter 11: Railway Oriented Programming Chapter 12: Performance Chapter 13: Layout and Naming Chapter 14: Summary