【发布时间】:2010-11-18 04:24:34
【问题描述】:
我现在正在尝试学习 Scala,在 Haskell 方面有一点经验。对我来说很奇怪的一件事是 Scala 中的所有函数参数 必须 用类型注释 - Haskell 不需要。为什么是这样?举个更具体的例子:添加函数是这样写的:
def add(x:Double, y:Double) = x + y
但是,这只适用于双精度数(嗯,整数也适用,因为隐式类型转换)。但是,如果您想定义自己的类型并定义自己的 + 运算符,该怎么办。您将如何编写适用于任何定义 + 运算符的类型的 add 函数?
【问题讨论】:
-
很高兴我在发布自己的几乎抄本之前看到了这一点。感谢您的提问。
标签: scala haskell polymorphism type-inference