gpt4 book ai didi

scala - 更高级的类型——为什么是 Scala 而不是 F#?

转载 作者:行者123 更新时间:2023-12-03 11:01:59 25 4
gpt4 key购买 nike

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8年前关闭。




鉴于 CLR 泛型实现支持比 JVM 更多的特性,例如具体化,而 JVM 的泛型仅仅是 Java "compiler trick" ,为什么高级类型在 F# 中是不可能的,而在 Scala 中是可能的? CLR 泛型实现是否以某种方式妨碍了事情,而 JVM 的缺乏让您可以比设计者的意图走得更远?有点像动态语言让你做强类型编译器不可能做到的技巧?

最佳答案

原则上,我不确定是否有任何因素阻止 F# 包含更高级的类型; CLR 本身并不支持它们,因此需要使用更间接的编译策略,但 JVM 上的 Scala 也是如此。在 CLR 的具体化泛型之上执行此操作可能会也可能不会更复杂,但我怀疑 F# 不包含它们的原因更具哲学性。虽然更高级的类型会很好,但 F# 的设计倾向于支持与其他 .NET 语言良好互操作的简单特性;更高级的类型可能需要大量的努力来添加到语言中,会使类型推断和语言的其他部分复杂化,并且肯定不会与 C# 和其他 .NET 语言很好地互操作,因此成本(包括机会成本)可能被认为是超过好处。

关于scala - 更高级的类型——为什么是 Scala 而不是 F#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15081218/

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