Функциональное программирование во фронтенде: лямбда-исчисление и JS, монады, Elm, Fantasy Land

  Рет қаралды 3,055

DSR Corporation RU

DSR Corporation RU

4 жыл бұрын

Артем Казарян, Front-End Developer of DSR Corporation, рассказывает о функциональном программировании для веб-разработчиков. Из видео вы узнаете о базовых принципах программирования в функциональном стиле, ключевых приемах и его пользе для современного фронтенд-разработчика. Вы узнаете, что программировать в рамках функциональной парадигмы можно на привычных во фронтенде языках.
Ключевые тезисы доклада:
- Функциональное программирование на Vanilla JS.
- Лямбда-исчисление с помощью JavaScript.
- Fantasy Land, спецификации для алгебраических структур в JS. Что такое монады.
- Функциональные языки ELM, PureScript, ReasonML.
Полезные ссылки:
FP: en.wikipedia.org/wiki/Functio...
Introduction to Functional Programming: www.cl.cam.ac.uk/teaching/Lec...
Church encoding: en.wikipedia.org/wiki/Church_...
Lambda calculus: en.wikipedia.org/wiki/Lambda_...
Fantasy Land: github.com/fantasyland/fantas...
Thorough analysis of Fantasy Land: www.tomharding.me/2017/03/03/f...
Things I wish someone had explained about functional programming: jrsinclair.com/articles/2019/...
Elm: ru.dsr-corporation.com/blog/1...
PureScript: www.purescript.org/
PureScript + VueJS: • Functional Frontend wi...
ReasonML: reasonml.github.io/
BuckleScript: bucklescript.github.io/
Redex: redex.github.io/

Пікірлер: 20
@fedc_
@fedc_ 2 жыл бұрын
Картинки интересные, спасибо что рядом постоял
@denisbryukhachev3663
@denisbryukhachev3663 2 жыл бұрын
Зашел разобраться с лямбда функциями, ничего не понял
@Iaxls
@Iaxls 3 жыл бұрын
Вот после просмотра таких видео, люди шарахаются от ФП. Это знаете как с мемом, рисуем сову. Не надо так.
@alexmerser7455
@alexmerser7455 2 жыл бұрын
Извините, не подскажите какой-нибудь материал по ФП для JavaScript? Много чего пытаюсь найти для простого разбора, но ничего толком хорошего не нашел, за исключением канала - kzbin.info , ну и книжки mr Frisby. Возможно, существуют доклады, которые хорошо показывают основы?
@Iaxls
@Iaxls 2 жыл бұрын
@@alexmerser7455 вот ещё шикарный доклад kzbin.info/www/bejne/aIKkhnSQataagK8 , как Вы наверное уже убедились материала не так много, это печально. Но тот кто ищет, тот всегда найдёт.
@Iaxls
@Iaxls 2 жыл бұрын
@@alexmerser7455 почему то пропал мои первый ответ, повторю, лучшее что есть по Вашему запросу на сегодня, это книга Луис Атенсио - Функциональное программирование на JavaScript.
@alexmerser7455
@alexmerser7455 2 жыл бұрын
@@Iaxls оо, я год назад читал эту книжку, но во второй половине книги потерялся, возможно, в силу отсутствия опыта) спасибо)
@alexmerser7455
@alexmerser7455 2 жыл бұрын
@@Iaxls и доклад тоже уже этот посмотрел, спасибо :)
@ne4to777
@ne4to777 2 жыл бұрын
Каким боком иммутабельность и чистые функции к ФП? Это просто хороший стиль любого программирования: не мутировать стейт и юзать как можно больше функции без побочек. А ФП - это про композиции и комбинации.
@AnarchySane
@AnarchySane 2 жыл бұрын
Основа ФП это чистые функции.
@ne4to777
@ne4to777 2 жыл бұрын
@@AnarchySane , покажи мне хоть одну полезную программу на чистых функциях)
@user-vn3vo3zf2m
@user-vn3vo3zf2m 6 ай бұрын
@@ne4to777 функция редьюсера, возвращающая новое состояние на основе экшена (напр. в Redux'е). Иммутабельность и чистые функции - важнейшие части парадигмы ФП. Можешь в википедии почитать, странно, что тебе было не лень накатать коммент, но лень загуглить "функциональное программирование" и открыть первый же результат.
@ne4to777
@ne4to777 6 ай бұрын
@@AnarchySane , чистые функции это основа любой парадигмы. Умение писать максимально чисто это везде хорошо, так же как и максимально синхронно.
@ne4to777
@ne4to777 6 ай бұрын
@@user-vn3vo3zf2m , то есть как только мы пишем нечистые функции и мутируем стейт это сразу уже не ФП?
ELE QUEBROU A TAÇA DE FUTEBOL
00:45
Matheus Kriwat
Рет қаралды 11 МЛН
格斗裁判暴力执法!#fighting #shorts
00:15
武林之巅
Рет қаралды 73 МЛН
OMG 😨 Era o tênis dela 🤬
00:19
Polar em português
Рет қаралды 9 МЛН
Что такое лямбда-исчисление? Душкин объяснит
13:08
Душкин объяснит
Рет қаралды 2,8 М.
1. Лямбда-исчисление
1:30:11
Computer Science Center
Рет қаралды 16 М.
Could Elm replace JavaScript?
4:53
Awesome
Рет қаралды 15 М.
ELE QUEBROU A TAÇA DE FUTEBOL
00:45
Matheus Kriwat
Рет қаралды 11 МЛН