-- sq x returns the square of x sq :: Integer -> Integer sq x = x^2 -- or x*x -- sq 5 = 5^2 = 25 -- absolute x returns the absolute value of x absolute :: Integer -> Integer absolute x | x >= 0 = x absolute x | x < 0 = -x -- Vad är `absolute (-5)`? -- absolute (-5) = -(-5) = 5 absolute' :: Integer -> Integer absolute' x | x >= 0 = x | otherwise = -x absolute'' :: Integer -> Integer absolute'' x = if x >= 0 then x else -x test1 = 2 >= 1 test2 = (>=) 2 1 -- power x n returns x to the power n power :: Integer -> Integer -> Integer power x n | n < 0 = error "negative n" power x 0 = 1 -- power x 1 = x -- Not needed! power x n = x * power x (n-1) -- power 2 3 = 2 * power 2 2 -- = 2 * (2 * power 2 1) -- = 2 * (2 * (2 * power 2 0)) -- = 2 * (2 * (2 * 1)) -- = 8 {- comment over several lines... -}