I think you can define an infinite sequence of squares with just a list comprehension:
powers = [ ii*ii | ii <- [1 ..]] take 10 powers => [1,4,9,16,25,36,49,64,81,100]
Edit: It was explained that you are performing authority 2, which can also be done with a list:
powersOf2 = [ 2^ii | ii <- [0 ..]] take 10 powersOf2 => [1,2,4,8,16,32,64,128,256,512]
You can extrapolate this to the generator function for any base:
powersOfN nn = [ nn^ii | ii <- [0 ..]] take 10 (powersOfN 3) => [1,3,9,27,81,243,729,2187,6561,19683] take 10 (powersOfN 17) => [1,17,289,4913,83521,1419857,24137569,410338673,6975757441,118587876497]