DigitableCourses
База знаний

Тема: Функциональное Программирование

33 материалов в этой теме.

Материалы

9 на странице
Статья

Лямбда-исчисление в живых языках: от Lisp до современных стрелочных функций

Где именно лямбда-исчисление живёт в языках, на которых вы пишете каждый день: стрелочные функции как абстракции, вызов как бета-редекс, let как сахар, замыкания как …

#лямбда-исчисление#функциональное программирование#компиляторы
22 мин
Статья

Ленивость, бесконечные структуры и потоки данных

Ленивое вычисление — это не экзотика Haskell, а способ разделить «что мы порождаем» и «сколько нам нужно». Разбираем thunk и call-by-need, генераторы, бесконечные списки, …

#функциональное программирование#ленивые вычисления#потоки данных
18 мин
Статья

Конкурентность в ФП: неизменяемость, STM, акторы

Почему разделяемое изменяемое состояние — источник почти всех багов конкурентности, и что предлагают взамен ФП-модели: STM, акторы, каналы, чистый параллелизм. С честной …

#функциональное программирование#конкурентность#многопоточность
22 мин
Статья

Композиция, каррирование, частичное применение и конвейеры

Как из маленьких функций собирать большие: композиция и её законы, каррирование и частичное применение, порядок аргументов data-first против data-last, конвейеры, …

#функциональное программирование#композиция функций#каррирование
20 мин
Статья

Кодирование Чёрча: истина, ложь и условия из одних функций

В лямбда-исчислении нет true, false и if — и они не нужны: булево значение оказывается функцией выбора из двух аргументов, а весь набор логических операций собирается из …

#лямбда-исчисление#функциональное программирование#логика
19 мин
Статья

Карта функторов: иерархия абстракций ФП от полугруппы до комонады

Одна связная карта всех абстракций ФП: зачем нужна каждая ступень от Semigroup до Comonad, чем они отличаются по силе, как выбрать нужную под задачу и сколько всё это …

#функциональное программирование#функторы#монады
24 мин
Статья

Архитектура на ФП: функциональное ядро и императивная оболочка, ресурсы

Как собрать из чистых функций целое приложение: функциональное ядро и императивная оболочка, решения как данные, что делать, когда сэндвич ломается, честная цена подхода …

#функциональное программирование#архитектура#тестирование
19 мин
Статья

Альфа, бета и эта: три преобразования, из которых всё состоит

Разбираем три правила переписывания лямбда-исчисления — переименование, вызов и упрощение — с полной пошаговой раскруткой редукций и рабочим редуктором на Python и …

#лямбда-исчисление#редукция#функциональное программирование
23 мин
Статья

Алгебраические типы данных и сопоставление с образцом

Как суммы и произведения типов убирают невозможные состояния из программы, зачем нужна проверка исчерпывающности и во что обходится моделирование данных через ADT.

#функциональное программирование#типы#сопоставление с образцом
19 мин