Scala是一门很棒的语言,但如果它有自己的运行时环境,它将如何改进呢?
也就是说,由于选择JVM,做了哪些设计选择?
Scala是一门很棒的语言,但如果它有自己的运行时环境,它将如何改进呢?
也就是说,由于选择JVM,做了哪些设计选择?
我知道的最重要的两个折衷方案是:
Scala 2.8中处理数组的新方案。该方案依赖于隐式转换和清单来集成数组,而不是装箱/拆箱和其他编译器魔术。
当涉及到管理具有边界的泛型类型时,这些是两个主要的JVM限制:Java JVM不保留在泛型对象中使用的确切类型,并且它具有“基本”类型。
但你也可以考虑:
@tailrec
注释)@proxy
)的支持这不是运行时的问题,而是一种文化遗留:普遍相等、哈希和toString。
更紧密地与虚拟机相关:默认情况下是严格评估、不纯函数和异常。
toString
有什么问题吗? - missingfaktorObject#toString
很容易发生。Collection[A]#toString
在显示类型为 A
的元素方面缺乏灵活性。请参考 scalaz.Show
以获取替代方案。