- 博客(4)
- 收藏
- 关注
原创 Scalaz(26)- Lens: 函数式不可变对象数据操作方式
scala中的case class是一种特殊的对象:由编译器(compiler)自动生成字段的getter和setter。如下面的例子:case class City(name:String, province: String)case class Address(street: String, zip: String, city: City)case class Person(name:
2016-01-30 11:51:53 834
原创 Scalaz(25)- Monad: Monad Transformer-叠加Monad效果
中间插播了几篇scalaz数据类型,现在又要回到Monad专题。因为FP的特征就是Monad式编程(Monadic programming),所以必须充分理解认识Monad、熟练掌握Monad运用。曾经看到一段对Monad的描述:Monadic for-comprehension就是一种嵌入式编程语言,由它的Monad提供它的语法。但如果每一种Monad的for-comprehension都独立提
2016-01-20 08:43:40 870
原创 Scalaz(24)- 泛函数据结构: Tree-数据游览及维护
上节我们讨论了Zipper-串形不可变集合(immutable sequential collection)游标,在串形集合中左右游走及元素维护操作。这篇我们谈谈Tree。在电子商务应用中对于xml,json等格式文件的处理要求非常之普遍,scalaz提供了Tree数据类型及相关的游览及操作函数能更方便高效的处理xml,json文件及系统目录这些树形结构表现形式数据的相关编程。scalaz Tre
2016-01-08 08:28:04 603
原创 Scalaz(23)- 泛函数据结构: Zipper-游标定位
外面沙尘滚滚一直向北去了,意识到年关到了,码农们都回乡过年去了,而我却留在这里玩弄“拉链”。不要想歪了,我说的不是裤裆拉链而是scalaz Zipper,一种泛函数据结构游标(cursor)。在函数式编程模式里的集合通常是不可变的(immutable collection),我们会发现在FP编程过程中处理不可变集合(immutable collection)数据的方式好像总是缺些什么,比如在集合里
2016-01-06 21:28:58 523
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人