1
eccstartup 2016-02-11 12:11:45 +08:00 1
可以增加一些复杂数据类型的例子。
|
2
scarlex OP 我是刚学习 Functor ,还没接触太多复杂的数据类型
|
3
aaaron7 2016-02-13 01:36:32 +08:00 1
严格意义上来说, List 应该是 Functor 的一个 instance 吧。
|
5
bramblex 2016-03-01 13:05:23 +08:00 1
functor 是函子
fmap 实际上就是一个 类型 T(a) -> T(b) 的一个映射。 ====================== 为什么 fmap id = id ?首先 id 的类型是 a -> a ,你给 fmap 了以后, fmap id 是不是变成了 T(a) -> T(a) 了?现在令 T(a) 为 a ,是不是 fmap id 又变回 a -> a 了? 为什么 fmap (f . g) = fmap f . fmap g 呢? 假设 f : a -> b, g: b -> c ,那么 f . g : a -> c f . g : a -> c famp (f . g) : T(a) -> T(c) fmap f : T(a) -> T(b) fmap g : T(b) -> T(c) fmap f . fmap g : T(a) -> T(c) 所以 fmap (f .g) = fmap f . fmap g |