在许多特征的签名中,人们可以发现这个看起来很尴尬的语法:
private trait CompositionPlus[F[_], G[_]] extends Plus[λ[α => F[G[α]]]]
有人可以向我解释λ[α => F[G[α]]]
部分吗?λ
和α
似乎都没有定义。
编辑: 我看到这种语法的作用,但我想知道编译器如何解释它。
此语法来自 kind-projector。它是一个重写的编译器插件
λ[α => F[G[α]]]
自
({ type L[α] = F[G[α]] })#L