gpt4 book ai didi

scala - dotty/scala3 与 scala-native 和 scala-js 等技术的集成有多无缝?

转载 作者:行者123 更新时间:2023-12-02 16:43:38 24 4
gpt4 key购买 nike

我们应该注意哪些限制?它会要求我们使用一些类似 scalafix 的工具吗?还是开箱即用?

最佳答案

一般从 2.13 迁移到 3.0:

  • Dotty 使用 2.13 集合,因此无需在此处进行任何更改 - 事实上 2.13 与 3.0 非常接近,以至于维护人员决定跳过本应作为垫脚石的 2.14 版本
  • 宏将需要重写——这是最大的问题,但是库维护者有一些时间来做这件事,有些甚至现在正在重写(参见 quill)
  • 将很少有弃用,例如存在类型的 forSome 语法消失(参见:documentation 上删除的功能)
  • 库可能需要扩展自身以支持新内容(联合/交集/不透明类型),但在您开始在代码中使用新内容之前,一切都像以前一样工作
  • 除此之外,旧的 Scala 代码无需任何更改即可运行

即使现在,Scalafix 也在产品中使用,例如Scala Steward 能够在将库更新到新版本时应用迁移。

Scala.js 是 already supported as Dotty backend在 JVM 旁边。

最近 Scala Center 接管了 Scala-native,因此我们应该期望 Scala-native 开发会加速(它有点停滞)并且它最终应该作为另一个受支持的后端登陆。我不知道他们是否设法在 Dotty 发布之前交付,但我对此表示怀疑。目前,Scala-native 必须首先获得对 2.12 和/或 2.13 的支持。跟踪 this issue如果你想知道或在 Gitter 上提问。

长话短说:您需要等待您使用的库被移植到 Dotty,然后更新您的宏(如果您编写了任何宏),此外,迁移对于 JVM 和 JS 后端来说应该非常简单。 Scala 原生可能需要更多时间。

关于scala - dotty/scala3 与 scala-native 和 scala-js 等技术的集成有多无缝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61037046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com