[Haskell]
От: Алексей Мартынов Россия  
Дата: 13.03.07 13:49
Оценка:
Есть задача — расчетная программа на Haskell, которая параметры расчета должна получать из из файла следующего вида:
a=15
b=10
c=1 4 5.1


Как это наиболее понятно реализовать? Лучшее, что получилось — некий тип (String только для простоты примера):

data Parameters    = Parameters (Maybe String) (Maybe String)
data ParameterName = ParamA
                   | ParamB


в паре с функцией, которая принимает его аргументом и, по мере чтения параметров, рекурсивно вызывает себя с обновленными данными. При достижении конца параметров запускается вычисление. Что-то в стиле:


readParameters p = do str <- getLine
                      case str of
                           ('a':'=':xs) -> readParameters (setParameter p ParamA xs)
                           ('b':'=':xs) -> readParameters (setParameter p ParamB xs)
                           ""           -> evaluate p

-- Используется для изменения соответствующего параметра
setParameter :: Parameters -> ParameterName -> String -> Parameters

evaluate :: Parameters -> IO ()


Выглядит все довольно монструозненько
А посему хотелось бы получить советы как это лучше сделать, и, по причине новизны Haskell'а для меня, если возможно, то простые примеры или ссылки на них.

Алексей Мартынов.
Алексей Мартынов
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.