Скажем, у меня есть список значений, к которым я хочу, чтобы применить последовательность операций, пока я не получить окончательный результат:Как запустить последовательность операций (функций) в Haskell?
[0, 1, 2]
firstOperation xs = map (+1) xs
secondOperation xs = filter even xs
thirdOperation xs = sum xs
Хотя я уверен, что есть другие более эффективные способы справиться с этим, только один в настоящее время я знаю, чтобы определить функцию, которая вызывает все эти функции вложены один в другой:
runAllOperations xs = thirdOperation (secondOperation (firstOperation xs))
, но это и некрасиво, и возникает проблема, что если у меня есть 10 операций, превращает этот бит кода в Maintanance кошмар ,
Каков правильный способ реализации чего-то подобного здесь? Имейте в виду, что приведенный выше пример - просто упрощение того, с чем я столкнулся в своем текущем проекте.
Когда я смотрю на ваши фрагменты кода я вижу преобразования, которые вы хотите применить к входу. Где операции? Подсказка: я думаю, вы думаете о Haskell неправильно и, следовательно, задаете неправильный вопрос, не понимая этого. – 2010-12-02 22:28:49
Я также считаю, что это так. К сожалению :( – 2010-12-03 08:54:43