Я помню , как однажды читал некоторые исследования , где был проанализирован тело кода C, и результаты были , что подавляющее большинство for
циклов можно разделить на пять категорий, соответствующих функциональных эквивалентов map
, filter
, fold
и т.д.
Я не могу найти эту статью / статью больше. Кто-нибудь может указать мне на это?
Ответы:
Это не точное совпадение с тем, что вы просили, но я думаю, что это довольно близко к сути вашего вопроса.
На странице этого сайта в Loops обсуждается ряд шаблонов циклов.
У них также есть страница о рекурсии, которая охватывает многие из тех же шаблонов рекурсивным способом.
источник
Мне кажется, я тоже это слышал. Где-то в SICP-видео или книге я думаю, что слышал, что большинство (если не все) программ / алгоритмов могут быть выражены с использованием потоков и фильтров. Потоки начинаются на лекции 6А.
Что касается всех циклов (for, while, do-while и т. Д.), То все они реализованы с метками, сравнениями и условным переходом, поэтому они просто синтаксический сахар, облегчающий чтение и понимание.
источник