Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11679
Последний выпуск: 19.06.2015

Из IO [String] в [String]

63K
13 января 2011 года
Zambidis
7 / / 04.01.2011
haskell Код:
 
Код:
opFile :: String -> IO[String]
opFile file = do str <- readFile file; return(words str);

Читает из файла и возвращает IO String.
haskell Код:
 
Код:
parseStr :: [String] -> [String]
parseStr [] = []
parseStr (x:xs) = if (prov x) then x:parseStr xs else parseStr xs

А parseStri разбирает [String] и возвращает тоже [String].
Когда я передаю parseStr то что возвращает opFile компилятор ругается:
Couldn't match expected type `[String]'
against inferred type `IO [String]'

Помогите решить эту проблему
68K
18 января 2011 года
alvelcom
1 / / 18.01.2011
Цитата: Zambidis
haskell Код:
 
Код:
opFile :: String -> IO[String]
opFile file = do str <- readFile file; return(words str);

Читает из файла и возвращает IO String.
haskell Код:
 
Код:
parseStr :: [String] -> [String]
parseStr [] = []
parseStr (x:xs) = if (prov x) then x:parseStr xs else parseStr xs

А parseStri разбирает [String] и возвращает тоже [String].
Когда я передаю parseStr то что возвращает opFile компилятор ругается:
Couldn't match expected type `[String]'
against inferred type `IO [String]'

Помогите решить эту проблему




 
Код:
readAndParse file
  = do
       input <- opFile file
       let parsed = parseStr input
       ...

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог