eof :: Parser Bool
eof = Parser $ \i l c -> return (if null i then (True, [], l, c)
                                 else (False, i, l, c))
eof :: Parser Bool
eof = Parser $ \i l c -> return (if null i then (True, [], l, c)
                                 else (False, i, l, c))
eof = Parser $ \i l c -> return (if null i then (True, [], l, c)
                                 else (False, i, l, c))