Functional Programming in C# - Sturm_ Oliver.pdf
(
90294 KB
)
Pobierz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
PROFESSIONAL
FUNCTIONAL PROGRAMMING IN C#
INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xiii
PART I
INTRODUCTION TO FUNCTIONAL PROGRAMMING
A Look at Functional Programming History . . . . . . . . . . . . . . . . . . . . . . . . 3
CHAPTER 1
Putting Functional Programming into a Modern Context . . . . . . . . . . . . . 9
CHAPTER 2
PART II
C# FOUNDATIONS OF FUNCTIONAL PROGRAMMING
Functions, Delegates, and Lambda Expressions . . . . . . . . . . . . . . . . . . . .17
CHAPTER 3
Flexible Typing with Generics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
CHAPTER 4
Lazy Listing with Iterators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
CHAPTER 5
Encapsulating Data in Closures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
CHAPTER 6
Code Is Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61
CHAPTER 7
PART III
IMPLEMENTING WELL-KNOWN FUNCTIONAL
TECHNIQUES IN C#
Currying and Partial Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
CHAPTER 8
Lazy Evaluation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
CHAPTER 9
Caching Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
CHAPTER 10
Calling Yourself. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
CHAPTER 11
Standard Higher Order Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
CHAPTER 12
Sequences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
CHAPTER 13
Constructing Functions from Functions. . . . . . . . . . . . . . . . . . . . . . . . . . 149
CHAPTER 14
Optional Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
CHAPTER 15
Keeping Data from Changing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
CHAPTER 16
Monads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
CHAPTER 17
Continues
PART IV
PUTTING FUNCTIONAL PROGRAMMING INTO ACTION
CHAPTER 18
Integrating Functional Programming Approaches. . . . . . . . . . . . . . . . . 209
CHAPTER 19
The MapReduce Pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
CHAPTER 20
Applied Functional Modularization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
CHAPTER 21
Existing Projects Using Functional Techniques . . . . . . . . . . . . . . . . . . . 247
INDEX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
261
PROFESSIONAL
Functional Programming in C#
CLASSIC PROGRAMMING TECHNIQUES
FOR MODERN PROJECTS
Oliver Sturm
Plik z chomika:
superktos86
Inne pliki z tego folderu:
Functional Programming in C# - Sturm_ Oliver.pdf
(90294 KB)
cover.jpg
(57 KB)
metadata.opf
(7 KB)
Inne foldery tego chomika:
Zgłoś jeśli
naruszono regulamin