问题标签 [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.
31 问题
0
投票
2
回答
89
浏览
haskell - 为什么 Num 在 haskell 中可以被视为浮动?
我定义了一个函数来计算sqrt
和转换Integral
类的参数:
我不明白为什么会编译。如果我们写出各个函数的签名,我们会得到:
所以 " sqrt
" 需要一些Floating
类型,但它提供了Num
. 如果你看一下类层次结构,你可以看到Floating
“继承”,Num
但不是相反。我会理解是否Floating
可以隐含地对待它,Num
因为它是一种更“专业”的类型。为什么这对编译器来说是可以的?