Table of Contents

 

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#