Hello Colin, Thursday, July 07, 2005, 4:33:39 PM, you wrote: >>>type FilterProgram = [Line] -> [Line] CR> interact :: (String -> String) -> IO () and there is lines and unlines functions to do just what yopu need example: main = interact (unlines.filter(not.null).lines) -- Best regards, Bulat mailto:bulatz at HotPOP.com