我最近正在学习Scalaz。我想知道λ[α =>F]是如何工作的?
scala> Applicative[λ[α => Int]].point(10)
res45: Int = 0
scala> Applicative[λ[α => String]].point(10)
res46: String = ""
我可以理解λ在这里意味着某种类型,但我找不到它的定义,想知道上面的代码是如何工作的。
scalaz use kind-projector.
Applicative[λ[α => Int]]
等价于Applicative[({type l[a] = Int})#l]
- https://github.com/non/kind-projector
- https://github.com/scalaz/scalaz/pull/875