Odersky先生在2013年发布的this question中指出,“现在说还为时过早”,由于更高种类和存在类型的cast割,像Scalaz这样的库是否能够在Dotty下存在(至少处于当前状态)。

在过去的时间里,Dotty对Scalaz&Cats的影响是否已经阐明?内置的效果和记录等拟议功能是否会改变这些项目的范围?

我了解到Dotty仍然无法取代scalac,但是在我考虑投入时间将纯功能性构造和方法应用于我的工作时,我认为考虑其旗舰库的 future 非常重要。

最佳答案

克里斯·麦金莱(Chris McKinlay)的最新一则有关Dotty的例子是“Scaling Scala”(2016年12月15日)(同一篇文章还提到了 Scalaz 和猫的情况)



尽管Dotty开辟了许多有趣的语言可能性(特别是全谱依赖类型,la AgdaIdris),但Odersky选择优先考虑使其立即对社区有用。语言差异很小,大多数差异是为了简化语言(例如删除过程语法)或修复错误(不正确的模式匹配)或两者(早期初始化程序)。

不过,我仍然不禁要问他,是否有可能在某个时候在Scala中出现依赖全谱的类型。他的话是这样的:



Scala和Dotty团队正在紧密合作以实现Scala 2.x和Dotty的融合,他们表示非常重视连续性。 Scala 2.12和2.13具有语言标记,可以解锁在Dotty中孵化的功能(例如,存在类型),并且Dotty编译器具有Scala 2兼容模式。甚至还有一个migration tool

10-06 02:17