Newton法

Haskellをマスターして悟り体験をしたいというのはあるんだけど、遠い夢より現実的な用途として、アルゴリズムのメモがわりにHaskellは使えないかなと。qsortとかみたいに。実際に動作するメモ。
で、Newton法を適当に書いた。

eps = 1e-7

newton f f' x = if (abs $ f x) < eps then
                    x
                else
                    newton f f' $ improve f f' x

improve f f' x = x - f x / f' x

f x = x ** 2 - 2
f' x = 2 * x

main = putStrLn $ show $ newton f f' 3

このNewton法だとメモがわりにはなってるがする。
再帰をループに直すところで少し考えそうなのが気がかりだけど。