fact -3 error:Cannot infer instance

发布于 2022-08-29 05:09:39 字数 736 浏览 13 评论 2

fact 0 = 1
fact n = n * fact(n - 1)

Hugs> fact 3
6 :: Integer
(75 reductions, 140 cells)
Hugs> fact -3
ERROR - Cannot infer instance
*** Instance   : Num (a -> a)
*** Expression : fact - 3

按照规约的方式  fact -3  =》 -3 * fact -4
                                   =>  -4 * -3 * fact -5
                                   => ....
如何能得出 Cannot infer instance 的结论?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

孤凫 2022-09-04 12:13:11

回复 2# SNYH

谢谢

Hugs> fact (-3)
ERROR - C stack overflow

一直归约不成功,所以溢出了~

属性 2022-09-02 03:52:43

haskell  里面  '-'  号  一般要括起来。。。。应该写成  fact (-3)
否则就成了   (-) fact 3  了。。。  
fact 是一个函数   减去 3  所以就  cannot infer instance  因为函数作用于 -  是未定义的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文