类型的SBT输出

时间:2015-05-29 20:14:57

标签: scala sbt

关于类型理论,数学和计算机科学领域都倾向于使用相同的符号来表示种类和种类,即符号:

  1. *
  2. ->
  3. Haskell甚至采用了这种表示法:

    Prelude> :k Maybe
    Maybe :: * -> *
    

    但在sbt中,我们得到:

    scala> :k Option
    scala.Option's kind is F[+A]
    

    Haskell方式更容易理解,因为它直接匹配类型理论的文献。为什么SBT不使用*->表示法?我可以看到用sbt方式传递的唯一额外信息是类型差异。

1 个答案:

答案 0 :(得分:3)

尝试详细标记(-v)

scala> :k -v Option
scala.Option's kind is F[+A]
* -(+)-> *
This is a type constructor: a 1st-order-kinded type.

更多信息:

http://docs.scala-lang.org/scala/2.11/(Ctrl + F:kind)

https://github.com/scala/scala/pull/2340