import SimplePrelude square :: Float -> Float square x = x *. x -- Compute the derivation of a function: derive :: (Float -> Float) -> (Float -> Float) --derive f = f' -- where f' x = (f (x +. dx) -. f x) /. dx derive f = \x -> (f (x +. dx) -. f x) /. dx dx :: Float dx = 0.001 --square' = derive square square' = derive (\ x -> x *. x) --add :: Float -> Float -> Float add :: Float -> (Float -> Float) --add x y = x +. y --add x = \y -> x +. y add = \x y -> x +. y inc = add 1.0