问题标签 [adhoc-polymorphism]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
89 浏览

haskell - 为什么 Num 在 haskell 中可以被视为浮动?

我定义了一个函数来计算sqrt和转换Integral类的参数:

我不明白为什么会编译。如果我们写出各个函数的签名,我们会得到:

所以 " sqrt" 需要一些Floating类型,但它提供了Num. 如果你看一下类层次结构,你可以看到Floating“继承”,Num但不是相反。我会理解是否Floating可以隐含地对待它,Num因为它是一种更“专业”的类型。为什么这对编译器来说是可以的?