如何将此类型的 lambda 转换为 Kind-Projector 语法?
How do I translate this type lambda into Kind-Projector syntax?
给定 F[_]
和 A[_]
的类型参数,我如何将以下类型 lambda 转换为更令人愉快的 Kind-Projector 语法?
({type λ[α] = F[A[α]]})#λ
我原以为它会像 F[A[?_]]
,但编译器抱怨在这种情况下需要类型参数。
使用 Lambda
(或 λ
)语法有效:
λ[α => F[A[α]]]
在函数语法下找到here。
您应该尽可能使用内联语法,但在这种情况下,您必须对嵌套参数化类型使用函数语法。
此外,如果为项目启用了类型投影仪,Intellij IDEA 15 有一个 inspection 可以将类型 lambda 转换为类型投影仪语法。
所以这就是检查将您的类型 lambda 转换为的内容:Lambda[α => F[A[α]]]
给定 F[_]
和 A[_]
的类型参数,我如何将以下类型 lambda 转换为更令人愉快的 Kind-Projector 语法?
({type λ[α] = F[A[α]]})#λ
我原以为它会像 F[A[?_]]
,但编译器抱怨在这种情况下需要类型参数。
使用 Lambda
(或 λ
)语法有效:
λ[α => F[A[α]]]
在函数语法下找到here。
您应该尽可能使用内联语法,但在这种情况下,您必须对嵌套参数化类型使用函数语法。
此外,如果为项目启用了类型投影仪,Intellij IDEA 15 有一个 inspection 可以将类型 lambda 转换为类型投影仪语法。
所以这就是检查将您的类型 lambda 转换为的内容:Lambda[α => F[A[α]]]