Допустим, у меня есть список значений, к которым я хочу применить последовательность операций, пока не получу окончательный результат:
[0, 1, 2]
firstOperation xs = map (+1) xs
secondOperation xs = filter even xs
thirdOperation xs = sum xs
Хотя я уверен, что есть и другие лучшие способы справиться с этим,единственное, что я в настоящее время знаю, - это определить функцию, которая вызывает все эти функции, вложенные друг в друга:
runAllOperations xs = thirdOperation (secondOperation (firstOperation xs))
, но это уродливо и порождает проблему, которая, если у меня есть 10 операций, превращает этот биткод в кошмар обслуживания.
Как правильно реализовать здесь что-то подобное?Помните, что приведенный выше пример является лишь упрощением того, с чем я сталкиваюсь в моем текущем проекте.