module Main binaryDigit : Integer -> Char binaryDigit n = if (mod n 2) == 1 then '1' else '0' binaryString : Integer -> String binaryString 0 = "0" binaryString n = pack (loop n []) where loop : Integer -> List Char -> List Char loop 0 acc = acc loop n acc = loop (div n 2) (binaryDigit n :: acc) main : IO () main = do putStrLn (binaryString 0) putStrLn (binaryString 5) putStrLn (binaryString 50) putStrLn (binaryString 9000)