实现Monad #compose

时间:2013-12-04 01:55:36

标签: scala

Functional Programming in Scala显示compose的{​​{3}}:

def compose[A, B, C](f: A => F[B], g: B => F[C]): A => F[C] = {
    a => flatMap(f(a))(g)
}

如何理解a前面的=>

1 个答案:

答案 0 :(得分:1)

在6.23的匿名函数规范中,它表示如果期望的类型是一个函数(编译器可以从中推断出param类型),你可以省略params的类型。

此处的预期类型是结果类型A => F[C],因此aA

有了这个,我不确定还能说什么...