home.social

#трамплин — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #трамплин, aggregated by home.social.

  1. Рекурсивные типы. Часть 3/5. Свободные контейнеры

    Сравнительно небольшая часть обзора, посвящённая свободным контейнерам. Содержание: Свободный контейнер Более свободный контейнер Батуты Ко-свободный контейнер Промежуточный итог

    habr.com/ru/articles/863334/

    #теория_типов #рекурсивные_типы #свободная_монада #батуты #трамплин

  2. Зачем в Scala трамплины и как их использовать

    В этой статье директор департамента разработки российской компании «Криптонит» и «скалист» Алексей Шуксто рассказывает о специфической технике функционального программирования, которая называется «трамплин» (trampoline). Если кратко, то «трамплин» — это постоянный вызов в цикле новых частей вычисления вплоть до получения конечного результата. Трамплин можно рассматривать как шаблон проектирования, который позволяет избежать переполнения стека при рекурсивных вызовах функций. Достигается это следующим образом: когда функция вызывает саму себя, то вместо этого вызова управление передаётся другой функции — трамплину. Эта функция-трамплин вызывает исходную функцию с нужными параметрами и, если нужно, передаёт управление другой функции-трамплину. Таким образом, при рекурсивных вызовах функций никакая информация не сохраняется на стеке, а управление всегда передаётся между функциями-трамплинами. Чтобы вникнуть в детали, поясним ещё несколько моментов:

    habr.com/ru/companies/kryptoni

    #scala #функциональное_программирование #трамплин #функтор #монада #рекурсия #хвостовая_рекурсия #вакансия #работа #developer

  3. Зачем в Scala трамплины и как их использовать

    В этой статье директор департамента разработки российской компании «Криптонит» и «скалист» Алексей Шуксто рассказывает о специфической технике функционального программирования, которая называется «трамплин» (trampoline). Если кратко, то «трамплин» — это постоянный вызов в цикле новых частей вычисления вплоть до получения конечного результата. Трамплин можно рассматривать как шаблон проектирования, который позволяет избежать переполнения стека при рекурсивных вызовах функций. Достигается это следующим образом: когда функция вызывает саму себя, то вместо этого вызова управление передаётся другой функции — трамплину. Эта функция-трамплин вызывает исходную функцию с нужными параметрами и, если нужно, передаёт управление другой функции-трамплину. Таким образом, при рекурсивных вызовах функций никакая информация не сохраняется на стеке, а управление всегда передаётся между функциями-трамплинами. Чтобы вникнуть в детали, поясним ещё несколько моментов:

    habr.com/ru/companies/kryptoni

    #scala #функциональное_программирование #трамплин #функтор #монада #рекурсия #хвостовая_рекурсия #вакансия #работа #developer