从函数式编程的角度来看,Scala 与哪种语言最相似?
- 标准 ML
- OCaml
- Haskell
- 其他一些
- Standard ML
- OCaml
- Haskell
- some other
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
它的静态类型系统的功能与 Haskell 类似,尽管它的类型推断因需要支持 OO 风格的子类型而受到严重阻碍。 Scala 还缺乏更高阶的多态性并且不可预测性,哈斯克尔都具备。另一方面,Scala 基于隐式的 类型类 机制虽然比 Haskell 更冗长,但更灵活的。
当然,有很多可供比较的轴; Scala 的求值语义是严格,就像 ML 一样,而 Haskell 是懒惰。
It is similar in the power of its static type system to Haskell, though its type inferencing is severely hampered by the need to support OO-style subtyping. Scala also lacks higher-rank polymorphism and impredicativity, both of which Haskell has. On the other hand, Scala's implicits-based type class mechanism, while more verbose than Haskell, is more flexible.
There are many axes on which to compare, of course; Scala's evaluation semantics are strict, like that of ML, whereas Haskell is lazy.
无论是在功能集还是在使用方式上,Haskell 可能是最接近该列表的,尽管 actor 库显示出强大的 Erlang 遗产。
像这样的东西: http://dibbblego.wordpress.com/2007/05/23/the-power-of-type-classes-with-scala-implicit-defs/ 很好地说明了 Haskell 和 Scala 的等效之处
Both in feature set and in the way it's being used, Haskell is probably closest from that list, although the actors library shows a strong Erlang heritage.
Something like this: http://dibblego.wordpress.com/2007/05/23/the-power-of-type-classes-with-scala-implicit-defs/ gives a good idea of where Haskell and Scala are equivalent