Haskell入門 1からnまでのp乗の和を求める

sum_of_power :: Integer -> Integer -> Integer
sum_of_power n p = sum $ map (^p) [1..n]
*Main> sum_of_power 10 1
55
*Main> sum_of_power 10 2
385
*Main> sum_of_power 100 2
338350
*Main> sum_of_power 100 3
25502500