Size: a a a

Clojure — русскоговорящее сообщество

2020 November 05

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Если кого-то тоже интересует, нашел вот https://news.ycombinator.com/item?id=8344002
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Mikhail Borisov
Кстати, а вот трансдьюсеры не имеют случайно отношения к монадам, мб кто знает?
Нет, это просто изящное преобразование данных.
источник

O

Ortofax in Clojure — русскоговорящее сообщество
редьюсеры напоминают алгебры
источник

O

Ortofax in Clojure — русскоговорящее сообщество
или даже трансформации алгебр
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Ivan Grishaev
Нет, это просто изящное преобразование данных.
Судя по тому, что я прочитал по ссылке, трансдьюсеры просто используют лист монаду, т.е. это применение конкретной монады
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
пойду я, пожалуй...
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Не надо 😂
источник

O

Ortofax in Clojure — русскоговорящее сообщество
const filter = predicate => step =>
 (a, c) => predicate(c) ? step(a, c) : a;

step это алгебра, filter - нашлёпка над алгеброй, потом это всё уезжает в compose, который эквивалентен катаморфизму
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
🤯
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Ortofax
const filter = predicate => step =>
 (a, c) => predicate(c) ? step(a, c) : a;

step это алгебра, filter - нашлёпка над алгеброй, потом это всё уезжает в compose, который эквивалентен катаморфизму
Что такое a и c?
источник

O

Ortofax in Clojure — русскоговорящее сообщество
аккумулятор и текущий элемент, по-видимому
источник

O

Ortofax in Clojure — русскоговорящее сообщество
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Ortofax
аккумулятор и текущий элемент, по-видимому
А, окей, это фильтр через редьюс
источник

O

Ortofax in Clojure — русскоговорящее сообщество
хотя нет, будь это алгебры и катаморфизмы - там бы step и к a применялся
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Я правда никакие алгебры тут не вижу, потому что не шарю в алгебрах
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Sergey Trofimov
ну, мне не проблема, когда в одном языке fold, в другом reduce
а вот когда некоторая абстракция в явном виде выделена только в единичных языках, с которыми ты не работаешь — то результат
Фолда два разных а редьюс один
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Anton Chikin
Фолда два разных а редьюс один
это частности, не меняющие общий смысл операции
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Mikhail Borisov
Кстати, а вот трансдьюсеры не имеют случайно отношения к монадам, мб кто знает?
Была какая-то статья на русском. Они объясняются в терминах теории категорий
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
это частности, не меняющие общий смысл операции
https://en.wikipedia.org/wiki/Fold_%28higher-order_function%29
 fold (also termed reduce, accumulate, aggregate, compress, or inject)
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
фолда даже более, чем два 😊
источник