Haskell中的函数组合来计算Power

时间:2016-11-09 00:58:55

标签: haskell function-composition

我正在尝试在haskell中编写一个幂函数,使用函数组合计算f到n的幂,其中f是函数本身。

这是我到目前为止所做的:

let pow 0 f = (\x -> x)
    pow n f = f . (pow (n-1) f) 
in 2 ((\x -> x+1) 2)

我希望它将函数 f(x)= x + 1 传递给power函数并返回函数的平方。我尝试将值2传递给 f(x)函数,所以我认为它会返回4

当我在haskell.org上运行时,我得到:

:: (Num a, Num (a -> t)) => t

1 个答案:

答案 0 :(得分:2)

您的广告无效:2 ((\x->x+1) 2)格式错误(因为它等同于2 3)。

let pow 0 f = (\x->x); pow n f = f.(pow (n-1) f) in (pow 2 (\x -> x + 1)) 2

确实产生了4