Публикации по теме '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, вы, вероятно, слышали о термине «закрытие». Если вы проходите собеседование на должность инженера-программиста, вы можете столкнуться с вопросом, в котором вас попросят объяснить, что такое закрытие.
На поставленные выше вопросы легко ответить - просто запомните определение замыкания и приведите пару примеров.
Проблема с этой..