Обращение стрелочек? Arrow chasing?
В массовой практике этого точно нет. Ну а далее нужно смотреть детали. В программировании очень много подобных названий, каждому более или менее встречающемуся приёму норовят дать некое имя, часто по фамилии застолбившего название. Так arrow chasing, практически с единичной вероятностью, происходит от pointer chasing и тому подобных особенностей работы конкретных алгоритмов, выделенных при их изучении уже много десятилетий назад (без категорий). При этом подчеркну - никогда в практике не встречал arrow chasing, и даже pointer chasing встречал в узких областях, связанных с проблемой кэширования данных, когда за счёт этого чейзинга нужные данные оказываются вне размера кэша (хотя их общий объём заметно меньше). При разработке глубоко оптимизированных алгоритмов это важно (pointer chasing), а вот работа с графами в понятиях теории категорий - ну это уже совсем академическая область. На практике просто ищут подходящий алгоритм, а из какой он теории, да ещё на сколько реально важна была теория при его разработке, никто не думает (ну почти никто). Но отсюда вывод - а нет ли альтернативного изложения того же самого, но без теории категорий? Я, конечно, слабо представляю всё многообразие алгоритмов на графах, а потому не смогу ничего здесь сказать, но математики, наверно, смогут найти основы, и вполне может оказаться, что категории-то тут и ни при чём.
Для вывода таких эффектов "в сторону" придумали использовать "ленивые вычисления", то есть запись шагов без их исполнения до того момента, пока не появится возможность выполнить их "чисто", то есть без сторонних эффектов.
Это как-то не очень стыкуется с изложением в других местах.
Применение какого-нибудь функтора к некой структуре данных есть очень короткая по требованиям к памяти операция (для фиксации необходимости применения). А "ленивость" не требует мгновенной реализации применения. Куда же девается информация о применении до непосредственного момента исполнения? Вот как раз туда, в структуру данных, которую в хаскеле называют thunk. Но это уже внутренние потроха, снаружи этого не видно, а потому и объясняют многие "как понимают".
-- 18.02.2019, 19:50 --Для вывода таких эффектов "в сторону" придумали использовать "ленивые вычисления", то есть запись шагов без их исполнения до того момента, пока не появится возможность выполнить их "чисто", то есть без сторонних эффектов.
Ну это уже никуда не годится. Вычисление с эффектами не может быть произведено без эффектов, стратегия вычисления тут никак не влияет. Ленивость ввели в язык не потому.
Вы не поняли. Не ленивость ввели из-за эффектов, а ленивости нашли удобное применения для нейтрализации эффектов.
И да, вычисление можно разбить на части, а далее часть без эффектов произвести, соответственно, без эффектов.