Monads之规则
来源:互联网 发布:visio for mac 2016 编辑:程序博客网 时间:2024/05/01 16:28
The associative law
组合规则
FP IN SCALA
case class Order(item: Item, quantity: Int)case class Item(name: String, price: Double)val genOrder: Gen[Order] = for {name <- Gen.nextStringprice <- Gen.nextDoublequantity <- Gen.nextInt} yield Order(Item(name, price), quantity)
可以组合
val genItem: Gen[Item] = for {name <- Gen.nextStringprice <- Gen.nextDouble} yield Item(name, price)
val genOrder: Gen[Order] = for {item <- genItemquantity <- Gen.nextInt} yield Order(item, quantity)
Kleisli composition
源码解释
def compose[A,B,C](f: A => M[B], g: B => M[C]): A => M[C]
compose(compose(f, g), h) == compose(f, compose(g, h))类似于结合律,前提是参数的顺序不变
The identity laws
跟Monadic的zero一样的道理
0 0
- Monads之规则
- Monads之仿函数
- Monads之flatMap,unit
- Monads之关系选择器
- Monads之作用
- Understanding Haskell Monads
- Monads are Elephants Part 4
- Functors, Applicatives, And Monads 图解
- ClearCase Config_Spec 之规则
- 管理之规则
- Makefile之书写规则
- Makefile之隐含规则
- SVN之使用规则
- 关联规则之Apriori
- HDU2147之打表找规则
- 基础知识之重写规则
- yii框架之规则
- C#之规则
- http 状态码 504 502
- 日语学习之沪江N3基础 20150622 -5
- 2015-第14周项目3-OPP版电子词典
- 笔记:Nginx搭建
- ubuntu14.04 安装jdk
- Monads之规则
- 大数据的傲慢
- 不要被sizeof(i++)、sizeof(++i)、sizeof(fun())给绊倒了------杜绝写这种易误导人的代码
- Java之美[从菜鸟到高手演变]之智力题【史上最全】
- ThinkPHP整合Html编辑器时出现自动转义的问题
- Convolutional Neural Networks for Visual Recognition 4
- Java之美[从菜鸟到高手演变]之设计模式
- ffmpeg的本地视频组播
- 电子表单