图书介绍
函数式编程思想 英文pdf电子书版本下载
- (美)弗德著 著
- 出版社: 南京:东南大学出版社
- ISBN:9787564153885
- 出版时间:2015
- 标注页数:168页
- 文件大小:25MB
- 文件页数:180页
- 主题词:函数-程序设计-英文
PDF下载
下载说明
函数式编程思想 英文PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
1.Why 1
Shifting Paradigms 2
Aligning with Language Trends 4
Ceding Control to the Language/Runtime 4
Concision 5
2.Shift 11
A Common Example 11
Imperative Processing 11
Functional Processing 12
Case Study:Number Classification 17
Imperative Number Classification 17
Slightly More Functional Number Classification 19
Java 8 Number Classifier 21
Functional Java Number Classifier 22
Common Building Blocks 24
Filter 24
Map 25
Fold/Reduce 29
Synonym Suffering 31
Filter 31
Map 34
Fold/Reduce 36
3.Cede 39
Iteration to Higher-Order Functions 39
Closures 40
Currying and Partial Application 44
Definitions and Distinctions 44
In Groovy 45
In Clojure 47
Scala 47
Common Uses 51
Recursion 52
Seeing Lists Differently 52
Streams and Work Reordering 56
4.Smarter,Not Harder 59
Memoization 59
Caching 60
Adding Memoization 63
Laziness 70
Lazy Iterator in Java 70
Totally Lazy Number Classifier 72
Lazy Lists in Groovy 74
Building a Lazy List 77
Benefits of Laziness 80
Lazy Field Initialization 82
5.Evolve 83
Few Data Structures,Many Operations 83
Bending the Language Toward the Problem 85
Rethinking Dispatch 86
Improving Dispatch with Groovy 86
Clojure's"Bendable"Language 87
Clojure Multimethods and a la carte Polymorphism 89
Operator Overloading 91
Groovy 91
Scala 93
Functional Data Structures 95
Functional Error Handling 96
The Either Class 97
The Option Class 105
Either Trees and Pattern Matching 106
6.Advance 113
Design Patterns in Functional Languages 113
Function-Level Reuse 114
Template Method 116
Strategy 118
The Flyweight Design Pattern and Memoization 119
Factory and Currying 122
Structural Versus Functional Reuse 124
Code Reuse Via Structure 124
7.Practical Thinking 133
Java 8 133
Functional Interfaces 135
Optional 136
Java 8 Streams 136
Functional Infrastructure 137
Architecture 137
Web Frameworks 141
Databases 142
8.Polyglot and Polyparadigm 145
Combining Functional with Metaprogramming 146
Mapping Data Types with Metaprogramming 147
Infinite Streams with Functional Java and Groovy 148
Consequences of Multiparadigm Languages 150
Context Versus Composition 151
Functional Pyramid 154
Index 159