import Html exposing (text) sqrt : Float -> Float sqrt x = if x >= 0 then sqrt_iter 1 x else -1 sqrt_iter : Float -> Float -> Float sqrt_iter guess x = if good_enough guess x then guess else sqrt_iter (improve guess x) x good_enough : Float -> Float -> Bool good_enough guess x = abs (square guess - x) < 0.001 square : Float -> Float square x = x * x average : Float -> Float -> Float average x y = (x + y) / 2 improve : Float -> Float -> Float improve guess x = average guess (x/guess) main = text (toString (sqrt 16))