如何将此类型lambda转换为Kind-Projector语法?

时间:2015-11-11 20:00:30

标签: scala types kind-projector

给定F[_]A[_]的类型参数如何将以下类型的lambda转换为更令人愉快的Kind-Projector语法?

({type λ[α] = F[A[α]]})#λ

我原以为它会像F[A[?_]]那样,但编译器抱怨在这种情况下需要类型参数。

2 个答案:

答案 0 :(得分:2)

使用Lambda(或λ)语法:

λ[α => F[A[α]]]

函数语法下找到here

答案 1 :(得分:0)

您应尽可能使用内联语法,但在这种情况下,您必须使用具有嵌套参数化类型的函数语法。

此外,如果为项目启用了种类投影仪,Intellij IDEA 15会有inspection将lambda类型转换为种类投影机语法。 因此,检查将您的类型lambda转换为:Lambda[α => F[A[α]]]