module Main ( main ) where import PackedString import IO main = do h1 <- openFile "test1" ReadMode h2 <- openFile "test2" ReadMode same <- hcmp h1 h2 if same then putStr "Files are identical.\n" else putStr "Files differ.\n" hcmp h1 h2 = do c1 <- hGetPS h1 4 c2 <- hGetPS h2 4 if c1 == c2 && lengthPS c1 == 4 then hcmp h1 h2 else if c1 == c2 then return True else do putStr $ "First version:\n" putStr $ unpackPS c1 ++ "\n" putStr $ "second version:\n" putStr $ unpackPS c2 ++ "\n" if unpackPS c1 == unpackPS c2 then putStr "But unpacked, they are the same!!!\n" else putStr "And unpacked they are different!\n" return False