singleDigit :: Int -> Int singleDigit num | num < 10 = num | otherwise = singleDigit (sumDigits num) sumDigits :: Int -> Int sumDigits num | num < 10 = num | otherwise = (num `mod` 10) + sumDigits (num `div` 10) -- singleDigit 37425 -- singleDigit 9876543