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