Copyright
Brief Table of Contents
Table of Contents
Foreword
Preface
Acknowledgments
About this Book
About the Cover Illustration
1. Learning to think functionally
Chapter 1. Thinking differently
1.1. What is functional programming?
1.2. The path to real-world functional programming
1.2.1. Functional languages
1.2.2. Functional programming on the .NET platform
1.3. Being productive with functional programming
1.3.1. The functional paradigm
1.3.2. Declarative programming style
1.3.3. Understanding what a program does
1.3.4. Concurrency-friendly application design
1.3.5. How functional style shapes your code
1.4. Functional programming by example
1.4.1. Expressing intentions using declarative style
1.4.2. Understanding code using immutability
1.4.3. Writing efficient parallel programs
1.5. Introducing F#
1.5.1. Hello world in F#
1.5.2. From simplicity to the real world
1.6. Summary
Chapter 2. Core concepts in functional programming
2.1. The foundation of functional programming
2.2. Evaluation of functional programs
2.2.1. Working with immutable values
2.2.2. Using immutable data structures
2.2.3. Changing program state using recursion
2.2.4. Using expressions instead of statements
2.2.5. Computation by calculation
2.3. Writing declarative code
2.3.1. Functions as values
2.3.2. Higher-order functions
2.4. Functional types and values
2.4.1. Type inference in C# and F#