【问题标题】:How to program in Scala to be forward-compatible with Dotty如何在 Scala 中编程以与 Dotty 前向兼容
【发布时间】:2013-11-21 19:50:34
【问题描述】:

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

【问题讨论】:

    标签: scala dotty


    【解决方案1】:

    我要给出的唯一其他建议是也远离包含类型成员的结构类型。这些类型成员是使 Scala turing 中的类型检查完成的元素,我还不确定我们是否要在 Dotty 中支持它。仅包含 vals 和 defs 的结构类型可能会继续受支持。

    【讨论】:

    • Martin,严重依赖高级类型(如 Scalaz)的库是否应该以替代风格重写?据我了解,不会有向后二进制兼容性,并且使用 Dotty 之前的 Scala 版本编译的代码不适用于 Dotty,对吗?
    • 现在说还为时过早。只要不超过合理的努力,我们将保持与更高种类的类型的一些向后兼容性。
    • 这些答案今天仍然有用吗?
    【解决方案2】:

    在演讲快结束时,他说"if your program is compiled without any language feature imports for higher-kinded and existentials then you should be ok"

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 2022-01-05
      • 2021-08-04
      • 1970-01-01
      相关资源
      最近更新 更多