#трамплин — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #трамплин, aggregated by home.social.
-
Рекурсивные типы. Часть 3/5. Свободные контейнеры
Сравнительно небольшая часть обзора, посвящённая свободным контейнерам. Содержание: Свободный контейнер Более свободный контейнер Батуты Ко-свободный контейнер Промежуточный итог
https://habr.com/ru/articles/863334/
#теория_типов #рекурсивные_типы #свободная_монада #батуты #трамплин
-
Зачем в Scala трамплины и как их использовать
В этой статье директор департамента разработки российской компании «Криптонит» и «скалист» Алексей Шуксто рассказывает о специфической технике функционального программирования, которая называется «трамплин» (trampoline). Если кратко, то «трамплин» — это постоянный вызов в цикле новых частей вычисления вплоть до получения конечного результата. Трамплин можно рассматривать как шаблон проектирования, который позволяет избежать переполнения стека при рекурсивных вызовах функций. Достигается это следующим образом: когда функция вызывает саму себя, то вместо этого вызова управление передаётся другой функции — трамплину. Эта функция-трамплин вызывает исходную функцию с нужными параметрами и, если нужно, передаёт управление другой функции-трамплину. Таким образом, при рекурсивных вызовах функций никакая информация не сохраняется на стеке, а управление всегда передаётся между функциями-трамплинами. Чтобы вникнуть в детали, поясним ещё несколько моментов:
https://habr.com/ru/companies/kryptonite/articles/796433/
#scala #функциональное_программирование #трамплин #функтор #монада #рекурсия #хвостовая_рекурсия #вакансия #работа #developer
-
Зачем в Scala трамплины и как их использовать
В этой статье директор департамента разработки российской компании «Криптонит» и «скалист» Алексей Шуксто рассказывает о специфической технике функционального программирования, которая называется «трамплин» (trampoline). Если кратко, то «трамплин» — это постоянный вызов в цикле новых частей вычисления вплоть до получения конечного результата. Трамплин можно рассматривать как шаблон проектирования, который позволяет избежать переполнения стека при рекурсивных вызовах функций. Достигается это следующим образом: когда функция вызывает саму себя, то вместо этого вызова управление передаётся другой функции — трамплину. Эта функция-трамплин вызывает исходную функцию с нужными параметрами и, если нужно, передаёт управление другой функции-трамплину. Таким образом, при рекурсивных вызовах функций никакая информация не сохраняется на стеке, а управление всегда передаётся между функциями-трамплинами. Чтобы вникнуть в детали, поясним ещё несколько моментов:
https://habr.com/ru/companies/kryptonite/articles/796433/
#scala #функциональное_программирование #трамплин #функтор #монада #рекурсия #хвостовая_рекурсия #вакансия #работа #developer