小编Lut*_*utz的帖子

什么是Scala中更高级的kinded类型?

您可以在网上找到以下内容:

  1. 更高的kinded类型==类型构造函数?

    class AClass[T]{...} // For example, class List[T]
    
    Run Code Online (Sandbox Code Playgroud)

    有人说这是一种更高的kinded类型,因为它抽象了符合定义的类型.

    较高的kinded类型是采用其他类型并构造新类型的类型

    这些虽然也称为类型构造函数.(例如,在Scala编程).

  2. 更高的kinded type == type构造函数,它将类型构造函数作为类型参数?

    更高级别的Generics中,您可以阅读

    ...抽象类型抽象的类型("更高级的类型")......"

    这表明

    class XClass[M[T]]{...} // or
    
    trait YTrait[N[_]]{...} // e.g. trait Functor[F[_]]
    
    Run Code Online (Sandbox Code Playgroud)

    是一种更高级的类型.

因此,考虑到这一点,很难区分类型构造函数,更高的kinded类型类型构造函数,它将类型构造函数作为类型参数,因此上面的问题.

generics constructor types scala higher-kinded-types

262
推荐指数
5
解决办法
6万
查看次数

为什么"类型"称为"类型类"?

当我深入Scala时,我会遇到术语类型.它一直令人困惑,因为类是一个类型,一个类型可能是Scala中的类,"类型"和"类"本身就是抽象术语.

在阅读了一些例子后,我感觉到类型类可能是什么,但也许有一种更容易的方法来通过解释为什么它被这样命名来获得类型类的心理钩子(图片,概念).

haskell scala typeclass

27
推荐指数
2
解决办法
987
查看次数