函数monad类型参数

时间:2015-02-02 15:20:06

标签: scala monads

我一直在检查Atlassian Typeclassopedia是否有Scala(使用Scalaz的示例),我不理解函数monad定义(我从未见过类型参数的这种语法):< / p>

implicit def FunctionMonad[R] = new Monad[({type l[a] = R=>a})#l] {
  def >>=[A, B](fa: R => A)(f: A => R => B) : R => B = (x => f(fa(x))(x))
  ...
}

有人可以详细说明{type l[a] = R=>a})#l实际上做了什么吗?

0 个答案:

没有答案