您可以在网上找到以下内容:
更高的kinded类型==类型构造函数?
Run Code Online (Sandbox Code Playgroud)class AClass[T]{...} // For example, class List[T]
有人说这是一种更高的kinded类型,因为它抽象了符合定义的类型.
较高的kinded类型是采用其他类型并构造新类型的类型
更高的kinded type == type构造函数,它将类型构造函数作为类型参数?
在更高级别的Generics中,您可以阅读
...抽象类型抽象的类型("更高级的类型")......"
这表明
Run Code Online (Sandbox Code Playgroud)class XClass[M[T]]{...} // or trait YTrait[N[_]]{...} // e.g. trait Functor[F[_]]
是一种更高级的类型.
因此,考虑到这一点,很难区分类型构造函数,更高的kinded类型和类型构造函数,它将类型构造函数作为类型参数,因此上面的问题.
我在本文中找到了以下代码(http://hseeberger.wordpress.com/2010/11/25/introduction-to-category-theory-in-scala/).
trait GenericCategory[->>[_, _]] {
def id[A]: A ->> A
def compose[A, B, C](g: B ->> C, f: A ->> B): A ->> C
}
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚特征名称旁边的语法
[->>[_,_]]
Run Code Online (Sandbox Code Playgroud)