Здравствуйте, VGn, Вы писали:
VGn>Но имхо функция совершенно не канает, как макро-сущность в нематематических задачах.
О как. Это почему?
Или я, видимо, не совсем верно понял что понимается под функцией.
Как вижу я, функция — это как раз-таки сущность самого верхнего уровня; любой софт характеризуется в первую очередь своей функциональностью. То есть максимально абстрактное определение будет туплом из функций (f: X -> Y, ...) между входными данными и ожидаемым результатом. Потом f = f_1 * f_2 * .. * f_n и так далее.
Структуры данных вообще ортогональны функциональной декомпозиции и прямого влияния на результат не оказывают. А непосредственно ФП подходит к проектированию не созданием универсальных структур данных, а созданием универсальных функций. И вместо того, чтобы делать расширяемые данные, делают расширяемые отображение данных в необходимую форму.
прежде чем понять рекурсию, необходимо понять рекурсию.