在Garcia等人的论文“泛型编程语言支持的扩展比较研究”中。对泛型编程的编程语言特性进行了有趣的比较:

对术语作简要解释:

有人能在这个框架内测试Scala对泛型编程的支持吗?也就是说,在第一个表中添加一个列,并在可能的情况下进行解释。
发布于 2013-10-23 18:59:33
正如OP中的其中一条评论所提到的,这是解释Scala如何比较一般编程支持的表。连结至来源pdf

稍后,将提供以下摘要:
Scala 使用概念模式,我们可以建模多类型的概念、多个约束和支持追溯建模。此外,Scala对implicits的支持意味着Java和C#解决方案在额外开销方面的缺陷不适用于Scala。因此,Scala在隐式参数推导和追溯建模准则方面都取得了很好的成绩。第6节显示通过类型成员和依赖方法类型在Scala中支持关联类型,并且类型成员也可以用作类型aliases.,如第3节所示,Scala支持词汇作用域模型。此外,类型检查是完全模块化的。优先级重叠隐含为基于概念的重载提供了一些支持,如第6.5节中的zipWithN示例所示。然而,重叠模型必须使用子类型层次结构来构造,这可能并不总是可取的。因此,该功能的得分仅够。最后,Scala完全支持一流的函数,并且它还支持相等的constraints.。总之,Scala是一种对泛型编程特性的优秀支持,能够在相同的级别上运行,甚至比G(它是专门为大型通用编程设计的语言而设计的)或Haskell (它对泛型编程有非常好的支持)。
然后在总结中:
类型成员和依赖方法类型为语言添加了额外的功能,这两种机制的组合允许表示关联的类型。类型成员和依赖方法类型的结合,使Scala成为大型通用编程的准备语言。
https://softwareengineering.stackexchange.com/questions/177037
复制相似问题