import GHC.IO.Encoding sabarusator :: String -> String sabarusator s = "~\n" ++ go ")" s where go l "" = "" go l ('.':s) = l ++ "...\n" ++ go (')':l) (drop 1 s) go l ( c :s) = c : go l s main = do setLocaleEncoding utf8 interact sabarusator