【发布时间】:2021-04-19 19:49:19
【问题描述】:
我是 Haskell 的新手,正在阅读 Haskell from first principles。
现在我在第 5 章。 在解决它的练习时,特别是 7,8 我不明白为什么我没有想出正确的答案
问题来了
你可以找到问题和解决方案here
如果kessel的类型是(Ord a, Num b) => a -> b -> a,那么类型 凯塞尔 1 2 是:
- 整数
- 内部
- 一个
- (Num a, Ord a) => a
- Ord a => a
- Num a => a
我认为它的答案是5. Ord a => a,bcs 我想出的可能实现之一是完全忽略参数b
喜欢这个
kessel ::(Ord a, Num b) => a -> b -> a
kessel a b = a
--if u have any other implementation Please share
因为它完全忽略了b,所以它不应该影响a的类型,但ghci仍然显示它的类型是
:t kessel 1 2
kessel 1 2 :: (Ord a, Num a) => a
我错过了什么? Q:8也是如此
【问题讨论】: