Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 哈斯克尔的权力_Haskell - Fatal编程技术网

Haskell 哈斯克尔的权力

Haskell 哈斯克尔的权力,haskell,Haskell,我试图在Haskell中实现以下函数 p :: Float -> Int -> Float p x 0 = 1 p x n = x^(p x (n-1)) 我得到: 使用“fromIntegral”不会产生(Integral(Float->Int->Float))的实例 我是Haskell的新手。(**)可以用来获取浮点指数的幂 (^)仅适用于积分指数 2 ^ 2.1 --fails 2 ** 2.1 --works (**)可用于获取浮点指数的幂 (^)仅适用于积分指数 2 ^

我试图在Haskell中实现以下函数

p :: Float -> Int -> Float
p x 0 = 1
p x n = x^(p x (n-1))
我得到:

使用“fromIntegral”不会产生(Integral(Float->Int->Float))的实例

我是Haskell的新手。

(**)
可以用来获取浮点指数的幂

(^)
仅适用于积分指数

2 ^ 2.1 --fails
2 ** 2.1 --works
(**)
可用于获取浮点指数的幂

(^)
仅适用于积分指数

2 ^ 2.1 --fails
2 ** 2.1 --works

(^):(数值a,整数b)=>a->b->a
。由于
Float
不是
Integral
类型类的实例,因此不能使用
^
运算符将值提升为
Float
类型的幂。谢谢您的回答<代码>(^):(数值a,整数b)=>a->b->a。由于
Float
不是
Integral
类型类的实例,因此不能使用
^
运算符将值提升为
Float
类型的幂。谢谢您的回答!