Скажем, У меня есть функция, которая может вычислять степень четырех числа, определенного
let power4 x = x*x*x*x
. И я пытаюсь передать x = (3 + 8) * 2
let result = power4 ((3 + 8)*2)
Поскольку в Haskell значения вычисляются до тех пор, пока они не понадобятся, делает ли это значит, что x будет оценивать четыре раза? Если да, то есть ли способ улучшить компилятор Haskell?
Спасибо.