我最近在学习Scalaz。我想知道λ[α=> F]是如何工作的?
scala> Applicative[λ[α => Int]].point(10)
res45: Int = 0
scala> Applicative[λ[α => String]].point(10)
res46: String = ""
我可以理解λ在这里意味着某种类型,但我找不到它的定义,并且想知道上面的代码是如何工作的。
答案 0 :(得分:2)
scalaz使用kind-projector。
Applicative[λ[α => Int]]
相当于Applicative[({type l[a] = Int})#l]