{-
I seems already ahead of this exercise;
in fact, ex.9.7's n_twice is similar to this exercise.
power f n v == f^n (v)
-}
power, power', power'' :: (a -> a) -> Int -> a -> a
power f n = foldr (.) id (replicate n f)
power' f 0 v = v
power' f (n+1) v = f (power f n v)
power'' f n v = iterate f v !! n
----- test -----
main = do
putStrLn $ show $ power (+2) 5 1
putStrLn $ show $ power' (+2) 5 1
putStrLn $ show $ power'' (+2) 5 1
This entry was posted
on Tuesday, June 5th, 2007 at 5:09 pm and is filed under Haskell - SOE.
You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.