Публикации по теме 'functional-programming'


React функционален в двух совершенно разных отношениях
React часто называют функциональным . Я бы сказал, что React функционален в двух совершенно разных отношениях. Первое: функциональные компоненты пользовательского интерфейса. React поощряет создание чисто функциональных компонентов пользовательского интерфейса. То есть большинство ваших компонентов пользовательского интерфейса станут чистыми функциями . Данные на входе. HTML на выходе. Нет побочных эффектов: function Foo({x,y}) { return..

Монады (минус математика, метафоры или мифология)
Некоторое время назад на канале моей команды в Slack я поделился следующим наблюдением после написания Elm: «Существует структурное сходство между Task.map/andThen и Maybe.map/andThen … У меня ужасное предчувствие, что это приведет к тому, что я узнаю, что такое монада». На что коллега тут же ответил: Если вы когда-нибудь гуглили «Что такое монада?», то почти наверняка поняли, почему. Обычно вы сталкиваетесь с тремя типами ответов: Математика «Монада — это всего..

Закрытие в javascript
Что такое замыкание? Я решил, прежде чем описывать замыкание, приведу пример и выведу из него определение замыкания. Анализ фрагмента кода: Итак, у нас есть функция createFunction , которая возвращает другую функцию, которая называется incrementCounter . когда мы выполняем createFunction и сохраняем ссылку на функцию incrementCounter . затем мы выполняем myNewFunc, которая ссылается на incrementCounter , и счетчик становится равным 1. затем мы еще раз..

Forever Functional #24 — Декораторы: функции высшего порядка в новом стиле
В предыдущих статьях мы обсуждали, что такое функция высшего порядка (HOF) и как мы можем использовать их для расширения функциональности нашего кода, как для JavaScript , так и для TypeScript . Подводя итог, HOF — это функция, которая принимает функции в качестве аргументов и, возможно, возвращает функцию в качестве результата. Бывает так, что JavaScript, скорее всего, получит определенную версию этих HOF, называемых декораторами , и в этой статье мы собираемся обсудить, что это..

Оценка терминов лямбда-исчисления: глубокое погружение
Лямбда-исчисление — это абстрактная математическая система, разработанная Алонзо Чёрчем в 1930-х годах. Это простая универсальная модель вычислений, которая составляет теоретическую основу функционального программирования. Основная цель этой статьи — упростить и прояснить оценку терминов лямбда-исчисления, обеспечивая лучшее понимание этого математического языка. Лямбда-исчисление: краткое введение Лямбда-исчисление включает три основных типа выражений: Переменные: x , y , z и т...

Я фанат карты Python по умолчанию. Может ли Котлин сделать то же самое?
Встречайте Kotlin-версию defaultDict Мы все знаем, что такое (хеш)карта, и если вы знаете язык программирования Python, вы, вероятно, в какой-то момент столкнулись с defaultdict . Мне было интересно, доступна ли такая же конструкция в Kotlin, и я объясню свою находку в этой статье. Документацию для Python defaultdict , включая пару примеров, можно найти здесь . Его основное использование демонстрируется в следующем фрагменте: Словарь по умолчанию получил свое название из-за..

Что на самом деле такого особенного в замыканиях JavaScript?
«Вы можете мне объяснить, что такое закрытие?» Если вы работаете с полным стеком, веб-интерфейсом, серверной частью или делаете что-нибудь с JavaScript, вы, вероятно, слышали о термине «закрытие». Если вы проходите собеседование на должность инженера-программиста, вы можете столкнуться с вопросом, в котором вас попросят объяснить, что такое закрытие. На поставленные выше вопросы легко ответить - просто запомните определение замыкания и приведите пару примеров. Проблема с этой..