首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哈斯克尔来自第一性原则Ch5,Ex 7,8

哈斯克尔来自第一性原则Ch5,Ex 7,8
EN

Stack Overflow用户
提问于 2021-04-19 19:49:19
回答 1查看 101关注 0票数 3

我对Haskell和阅读Haskell来自第一性原则很陌生。

现在我正在讨论第五章。当我解决它的练习时,特别是7,8,我不明白为什么我没有想出正确的答案

所以问题是

你可以找到问题和解决方案这里

如果kessel的类型是(Ord a,Num b) => a -> b -> a,那么kessel 12的类型是:

  1. 整数
  2. 整型
  3. 一个
  4. (Num a,Ord a) => a
  5. => a
  6. Num a => a

我认为它的答案是5. Ord a => a,bcs --它可能的实现之一--我想出来的就是完全忽略参数b

像这样

代码语言:javascript
复制
kessel ::(Ord a, Num b) => a -> b -> a
kessel a b = a
--if u have any other implementation Please share

由于它完全忽略了b,所以它不应该影响a的类型,但是ghci仍然显示它的类型是

代码语言:javascript
复制
:t kessel 1 2       
kessel 1 2 :: (Ord a, Num a) => a

我错过了什么?Q:8也是如此。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-19 19:56:10

Num b是一种红鲱鱼。Num a约束是因为您为a类型传递了一个数字文字,而这些类型需要Num类型。试着让:t kessel [] 2看它消失。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67168490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档