如何改写指数运算符的默认实现为长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计197个文字,预计阅读时间需要1分钟。
我是Haskell的新手,编译以下代码时出现错误(^):Int -> Int -> Int _ ^ 0=1x ^ n=x + x ^ (n - 1)错误信息是:Ambiguous occurrence
我是haskell的新手,编译以下代码时出现错误(^)::Int-Int-Int_^0=1x^n=x我是haskell的新手,编译以下代码时出现错误
(^) :: Int -> Int -> Int_ ^ 0 = 1x ^ n = x * (x ^ (n-1))
错误是这样的:
Ambiguous occurrence `^'It could refer toeither `Prelude.^',imported from `Prelude' at test.lhs:1:1(and originally defined in `GHC.Real')or `Main.^', defined at test.lhs:107:5
回答长话短说,Prelude已经有了那个函数,你正在重新定义它,所以编译器不知道选择哪个。
如果你把
import Prelude hiding ((^))
在文件的顶部,您将通过将另一个从Prelude.
本文共计197个文字,预计阅读时间需要1分钟。
我是Haskell的新手,编译以下代码时出现错误(^):Int -> Int -> Int _ ^ 0=1x ^ n=x + x ^ (n - 1)错误信息是:Ambiguous occurrence
我是haskell的新手,编译以下代码时出现错误(^)::Int-Int-Int_^0=1x^n=x我是haskell的新手,编译以下代码时出现错误
(^) :: Int -> Int -> Int_ ^ 0 = 1x ^ n = x * (x ^ (n-1))
错误是这样的:
Ambiguous occurrence `^'It could refer toeither `Prelude.^',imported from `Prelude' at test.lhs:1:1(and originally defined in `GHC.Real')or `Main.^', defined at test.lhs:107:5
回答长话短说,Prelude已经有了那个函数,你正在重新定义它,所以编译器不知道选择哪个。
如果你把
import Prelude hiding ((^))
在文件的顶部,您将通过将另一个从Prelude.

