Haskell 中的权力

Powers in Haskell

我试图在 Haskell

中实现以下功能
p :: Float -> Int -> Float
p x 0 = 1
p x n = x^(p x (n-1))

我得到:

没有因使用 `fromIntegral' 而产生的 (Integral (Float -> Int -> Float)) 实例

我是 Haskell 的新手。

(**) 可用于获取 Float 指数的幂....

(^) 仅适用于整数指数。

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