如何在Scala中编程以与Dotty向前兼容

Tva*_*roh 29 scala dotty

最近在Strange Loop的演讲中,Martin Odersky阐述了他对Scala未来版本Dotty的看法.我知道这是正在进行中的工作,由于许多可能的向后兼容性问题,它甚至可能不会流入Scala(至少不会非常快).但如果它发生了,我们今天如何在Scala中编程以与Dotty向前兼容?我没有从谈话中得到所有想法,所以我希望有更深刻的人总结这些变化,并描述我们如何为他们做好准备.

Mar*_*sky 36

我要给出的唯一其他建议是远离包含类型成员的结构类型.这些类型成员是在Scala中完成类型检查的元素,我还不确定是否要在dotty中支持它.仅包含val和def的结构类型可能会受到支持.

  • Martin,像Scalaz这样严重依赖高级类型的图书馆应该用其他风格重写吗?据我所知,没有向后的二进制兼容性和使用前Dotty Scala版本编译的代码将无法与Dotty一起使用,我是对的吗? (2认同)
  • 这些答案今天仍然有用吗? (2认同)

Knu*_*daa 11

他说,接近谈话的结尾"if your program is compiled without any language feature imports for higher-kinded and existentials then you should be ok".

因此,如果我理解正确,您唯一需要注意的是在代码中使用存在类型或更高级别的类型.