为什么Functor [A => ?]不能在Scala 2.11.7中编译?

时间:2015-12-23 08:13:41

标签: scala kind-projector

我关注Michael Pilquist's excellent intro to Functors并且我的Scala 2.11.7 repl无法编译(解释?)以下行。

implicit def function1Functor[X]: Functor[X => ?] = new Functor[X => ?] {
    def map[A, B](fa: X => A)(f: A => B): X => B = fa andThen f
}

[X => ?]是否合法Scala?

我看到他正在文件顶部导入他自己的模拟项目,但我无法确定它是否相关。

1 个答案:

答案 0 :(得分:6)

您需要使用种类的投影机编译器插件。 https://github.com/non/kind-projector