<div dir="ltr"><div dir="ltr">Hello,<div><br></div><div>I'm just starting off, but I'm wondering if anyone has any suggestions.  I've made a recursive function that's goal is to handle a base raised to a very large power.  </div><div><div>modLoop :: Integer -> Integer -> Integer -> Integer -> Integer -> Integer</div><div>modLoop iterator exponent result base modulus</div><div>  | (iterator == exponent) = result</div><div>   | (iterator < exponent) = modLoop (iterator + 1) (exponent) (mod (result * base) modulus) base modulus</div><div>   | (iterator > exponent) = (-1)</div></div><div><br></div><div>However, it flat breaks or takes a long time when using large numbers.</div><div><br></div><div>I need to get better at using strict functions, however, I compiled with ghc -o (as it tends to implement the strict version - ?) and I still have the same problem.  What's a better way?</div><div><br></div><div>Thanks in advance and thank you for your time.</div></div></div>