函数式编程
aloneload
这个作者很懒,什么都没留下…
展开
-
函数式编程笔记(一)——粮草先行
1.背景希尔伯特的第十个问题,就是不定方程(又称为丢番图方程)的可解答性。随后哥德尔不完备定理指出,对于形式化系统,存在既不能证真,也不能证伪的问题。那么哪些问题是可判定,或者说可计算的呢?Turing 和 Church 分别推出了两种不同的模型来解决可计算问题。Church 提出 lambda 演算,并通过这一系统定义了可计算函数的符号表示,有lisp硬件实现,函数式语言,如 ML,Lisp,H原创 2017-09-01 16:26:20 · 353 阅读 · 1 评论 -
函数式编程笔记(二)——兵马再动
为什么学习函数式编程 不可变性带来的好处:不会有竞态条件发生,很适合多核分布式下并发;重现使得测试调试非常方便;由于不依赖状态,可实现热部署。 编程生态的变化:各种语言加入lambda表达式(匿名函数),写法上都是类似的箭头表达式(Python是lambda关键字);声明式编程专注想要得到什么比命令式更细粒度的如何去实现来的简单;函数式编程语言对于数据计算更易理解,比如sql和大数据方面的map,r原创 2017-09-04 15:47:54 · 362 阅读 · 0 评论 -
函数式编程笔记(三)——java8实践
流的来源 从集合创建:Collection.stream() 工厂方法:Stream.of(T...) 数组创建:Stream.of(T[]) 或Arrays.stream() 空流:Stream.empty() 迭代器:Stream.iterate(T first, BinaryOperator<T> f) 生成器:Stream.generate(Supplier<T> f) 区间流:IntS原创 2017-09-26 09:38:41 · 339 阅读 · 0 评论