Main.hs (428B)
1 import Data.Char 2 import Data.List 3 4 type Parser a = String -> [(a, String)] 5 6 char :: Parser Char 7 char [] = [] 8 char (x:xs) = [(x, xs)] 9 10 failure :: Parser a 11 failure = (\a -> []) 12 13 return :: Parser a 14 return v inp = [(v, inp)] 15 16 parse :: Parser a -> String -> [(a, String)] 17 parse p inp = p inp 18 19 main :: IO () 20 main = do 21 inputLines <- lines <$> getContents 22 23 -- let arePossible = filter isPossible lines 24 25 mapM_ putStrLn inputLines 26