Lambda,Scalaz中的alphas

时间:2017-08-22 20:26:04

标签: scalaz

许多特质'签名可以发现这种看起来很难看的语法:

private trait CompositionPlus[F[_], G[_]] extends Plus[λ[α => F[G[α]]]]

有人可以向我解释λ[α => F[G[α]]]部分吗? λα似乎都未定义。

编辑: 我看到这个语法有什么用,但我想知道它是如何被编译器解释的。

1 个答案:

答案 0 :(得分:1)

此语法来自kind-projector。它是一个重写

的编译器插件
λ[α => F[G[α]]]

({ type L[α] = F[G[α]] })#L